VScode 自定义主题 护眼主题 界面UI配色 语法配色

已上架 vscode 商店,搜索安装即可

项目地址

https://gitee.com/lwleen/vs


VScode很好用.

vs codium 是它的开源版本, 几乎没有差别.

下载地址


https://code.visualstudio.com/

https://mirrors.tuna.tsinghua.edu.cn/github-release/VSCodium/vscodium/

开启中文很简单, 如图

QQ截图20201107191610.png

一 , vscode 配置

配置文件 setting.json 所在位置C:\Users\用户名\AppData\Roaming\Code\User\settings.json

这里的设置也很重要, 自定义字体, 各个功能都在这里

setting.json


{

    "workbench.colorTheme": "lwl-theme",

    "workbench.startupEditor": "newUntitledFile",

    "editor.fontSize": 15,

    "editor.fontFamily": "Hack",

    //启用所在行,行号高亮

    "editor.renderLineHighlight": "all",

}

二, 自定义主题

如图, 我的自定义主题, 仅供参考.

在路径 C:\Users\用户名\.vscode\extensions\ 下创建 mytheme文件夹

[图片上传失败...(image-d0cfbc-1604747978371)]

1. package.json 是插件信息, VScode 通过它识别插件是干什么用的.

2. README.md 是详细的插件介绍信息, 可有可无

3. ui-color.json 是界面UI配色, 都在这里

4. my-syntax-color.json 是语法配色

详细内容

1, package.json 插件信息


{

    "name": "lwl-theme",

    "displayName": "我的主题",

    "description": "自定义界面UI配色,用了默认语法配色,在其基础上增加自己的语法配色。",

    "categories":["Themes"],

    "version": "0.0.1",

    "publisher": "lwl",

    "engines":{"vscode":"*"},

    "contributes": {

        "themes": [

            {

                "id":"lwl-theme",

                "label": "我的主题", 

                "uiTheme": "vs",

                "path": "./ui-color.json"

            }

        ]

    }

}

2, ui-color.json 界面UI配色


{

"$schema": "vscode://schemas/color-theme",

"name": "界面UI的配色",

"type": "light",

"include": "./my-syntax-color.json",  //语法配色

//启动行号颜色...配置文件C:\Users\lwlee\AppData\Roaming\Code\User\settings.json 

//                    --->>>    "editor.renderLineHighlight": "all"

//窗体色彩配置

//  窗体颜色    8dc5ab(菜单)    009e0d(强烈分割线)    dddddd(窗体)     

//  编辑区色    d0d4d0(背景)    96e285(匹配词)        d8d8d8(高亮行)  999999(行号)

//  强烈颜色    e254c3(提醒)    fff453(括号)          ee0000(错误)

//

"colors":{

//1 悬浮控件背景=============================================

"menu.background":"#dddddd",      //悬浮菜单背景色  ------菜单栏

"menu.foreground":"#000000",      //悬浮菜单前景色

"editorHoverWidget.background": "#dddddd",  //悬浮控件背景  ----编辑区

"editorSuggestWidget.background": "#dddddd",

"editorHoverWidget.foreground": "#000000",

"editorHoverWidget.border": "#009e0d",    //悬浮控件边框 

"editorSuggestWidget.border": "#009e0d",  //悬浮建议边框

"list.highlightForeground": "#e254c3", // 匹配字体颜色  ---编辑区,输入提示

    //配置弹出的下拉菜单 和 左侧资源管理器栏里菜单

"list.activeSelectionBackground":"#8dc5ab",  // 左侧 资源管理器栏里

    "list.activeSelectionForeground": "#000000",

"list.inactiveSelectionBackground": "#8dc5ab69", //未激活菜单背景

"list.inactiveSelectionForeground": "#000000",

"list.errorForeground": "#ee0000",  // 出现错误

"list.hoverBackground": "#8dc5ab42",  //鼠标移动背景色  ----面包屑栏下拉菜单

"list.focusBackground": "#8dc5ab69",    //聚焦背景色

"focusBorder": "#8dc5ab98", // 窗口聚焦时边框

"input.border": "#009e0d",  //输入窗口边框

"input.background": "#dddddd",//输入窗口背景

//2 全局边框 ===============================================

"window.activeBorder": "#009e0d",  //全局边框-------------

//3 菜单栏 标签栏 面包屑栏 ======================================

"titleBar.activeForeground": "#000000",

"titleBar.activeBackground": "#8dc5ab",  //最顶菜单背景

"titleBar.inactiveBackground": "#8dc5ab",

"tab.hoverBorder": "#009e0d",

"tab.hoverBackground": "#8dc5ab62",    // 标签鼠标悬停时颜色

"tab.hoverForeground": "#000000",

"tab.inactiveBackground":"#dddddd",  // 非活动的标签颜色

"tab.inactiveForeground": "#000000",

    "tab.activeBackground":"#8dc5ab62",    //活动标签背景色

"tab.activeForeground": "#000000",    //激活的 字体 前景色

"tab.border": "#8dc5ab",  // 标签两边竖线---------

"editorGroupHeader.tabsBackground": "#dddddd",  // 非活动右侧便签颜色

"breadcrumb.foreground":"#000000",      //面包屑栏

"breadcrumbPicker.background":"#dddddd",  //下拉背景色

"editorGroupHeader.border": "#009e0d",            //标签栏和编辑区分割线  分割线-------

"scrollbar.shadow": "#8dc5ab",                    // 上面分割线的阴影

"editorGroup.dropBackground": "#8dc5ab41",  //拖动界面  分屏颜色多屏

//4 编辑区=================================================

"editor.foreground":"#000000",  //前景色

"editor.background":"#d0d4d0",  //背景色

"editor.lineHighlightBackground": "#d9d9d9",          //高亮行

"editor.lineHighlightBorder": "#d8d8d8",              //高亮行边框

"editor.selectionBackground": "#96e285",              //选中词颜色  ++++@ @ @++++

"editor.selectionHighlightBackground": "#fff453b6",    //相同匹配词的颜色

"editor.inactiveSelectionBackground":"#fff453b6",      //窗口失去焦点,选中的颜色

"editorCursor.foreground": "#000000",      //光标颜色

"editor.findMatchBackground": "#96e285",  //当前选中的搜索词的颜色

"editor.findMatchHighlightBackground": "#fff453",  //相同匹配词的颜色

"editorBracketMatch.background":"#fff453",    //括号背景

//行号所在区域

"editorLineNumber.foreground": "#999999b4",  //行号颜色

"editorLineNumber.activeForeground": "#000000", //活动行号突出显示

"editorGutter.background": "#dddddd",        //行号背景

"editorGutter.modifiedBackground": "#8dc5ab",  //行号右边的 内容标记

"editorIndentGuide.background":"#99999960",        //缩进线颜色非激活------

"editorIndentGuide.activeBackground":"#999999",  //当前激活的缩进线------

"debugIcon.breakpointForeground":"#e254c3",  //断点标记

"editorGutter.foldingControlForeground": "#e254c3", // 折叠标记

"editor.foldBackground": "#e254c333",    //折叠后的背景

"diffEditor.border": "#009e0d",  // 多个编辑器的分割线 ----------

        //5 最左侧栏  活动栏  侧边栏 资源管理器栏================================

"activityBar.background": "#dddddd",  //最左活动栏

"activityBar.foreground": "#009e0d",  //最左活动栏图标颜色

"activityBarBadge.background":"#e254c3",  //最左活动栏 通知标记 颜色

"activityBarBadge.foreground": "#ffffff",

"activityBar.border": "#99999960",    //边框 分割线--------------

"sideBar.background": "#dddddd",      //最左侧边栏 展开

"sideBar.foreground": "#000000",      // 侧边栏  字体颜色

"sideBar.border": "#99999960",          //侧边栏 边框分割线---------------

"sideBarTitle.foreground": "#000000",  //侧边栏 标题颜色

"badge.background": "#e254c3",  //标记未保存文件

"badge.foreground":"#ffffff",

//6 右面缩略图===============================================

"minimap.background": "#dddddd",  //缩略图背景

"minimapSlider.activeBackground": "#8dc5ab83",  //点击激活滑块颜色

"minimapSlider.hoverBackground": "#8dc5ab83",

"minimapSlider.background": "#8dc5ab83",

"minimap.selectionHighlight": "#ff0000",    //当前行标记

//7 最右面滑动块==============================================

"scrollbarSlider.background": "#8dc5ab00",      //滑块颜色

"scrollbarSlider.hoverBackground": "#8dc5abdc", 

"scrollbarSlider.activeBackground": "#8dc5abdc",  //点击滑块激活颜色

//8 最右滑动块底下的区域

"editorOverviewRuler.selectionHighlightForeground": "#ff0000",  //选中词

"editorOverviewRuler.findMatchForeground": "#ff0000",            //搜索词

"editorOverviewRuler.currentContentForeground": "#ff0000",

//9 最底部栏  状态栏=======================================

"statusBar.noFolderBackground" : "#8dc5ab",  //单文件状态栏

"statusBar.background": "#8dc5ab",  //最底状态栏颜色

"statusBar.foreground": "#000000",  //最底状态栏前景颜色

"statusBar.border": "#8dc5ab",  //底部状态栏分割线--------

"panel.background": "#dddddd",    //最底部控制台

"panel.border": "#009e0d",  //控制台边框

"panelTitle.activeBorder": "#e254c3", //标题下划线颜色

},

}

3, my-syntax-color.json 语法配色


{

"$schema": "vscode://schemas/color-theme",

"name": "默认的语法色彩",

"semanticHighlighting":true, 

"semanticTokenColors": {

"newOperator": "#0000ff",

"stringLiteral": "#a31515",

"customLiteral": "#000000",

"numberLiteral": "#098658",

},

    //下面都是语法色彩配置

//一个最小化的主题只会定义 11 个根组中的 10 个样式(其中 meta 是不会有视觉样式的)

"tokenColors": [

//1、关键字(当它无法被归并到别的组时使用)。

{

"scope": [

"keyword.control",    //通常是流程控制关键字,如 continue、while、return 等。

"keyword.control.conditional",

"keyword.control.import",

"punctuation.definition.keyword",  // 带符号的关键字, such as the @ symbol in CSS, add the following scope to the symbols:

//运算符通常都是符号,根据运算符的类型引用特定的变体

"keyword.operator",    // 文本(如 or)或者字符类型的操作符。

"keyword.operator.assignment",

"keyword.operator.arithmetic",

"keyword.operator.bitwise",

"keyword.operator.logical",     

"keyword.operator.word",        //操作者是一个字(and or not)

"keyword.other",    //其它关键字

],  

"settings": {

"foreground": "#0000ff",  //关键字

"fontStyle": "",

}

},

//2、 storage:与存储相关的内容。

{

"scope": [

"storage.type",              //类型,如 class、function、int、var 等。

"storage.modifier",          //存储相关的修饰符,static, inline, const, public and private.

"storage.type.function",    // func, function and def

//Keywords for  classes, structs, interfaces

"storage.type.class",

"storage.type.struct",

"storage.type.enum",

"storage.type.union",

"storage.type.trait",

"storage.type.interface",

"storage.type.impl ",

"storage.type keyword.declaration.type",

],

"settings": {

"foreground": "#00a2ff",    //存储 类型的关键字

"fontStyle": "",

}

},

//3、support:框架或者库提供的内容。 比如内置函数

{

"scope": [

"support.function",  //框架或者库提供的函数,如 Objective-C 中的 NSLog 就应该是

"support.constant",  //框架或者库提供的常量。

"support.module",

"support.class",    // 框架或者库提供的类。

"support.type",      //框架或者库提供的类型,有可能只在 C 系语言中使用,如 typedef 等。大多数其它语言都会被认为是类。

],

"settings": {

"foreground": "#3f6be4",    // 框架提供的 内置函数

"fontStyle": "bold",

}

},

// 4 、entity    实体,指文档中比较大坨的部分,如章节、类、函数或者标记。

//              我们并不讲所有的实体都归于 entity.*,有些会归于 meta.*。

{

"scope": [

//"entity.name",  //用于命名一个大实体。

"entity.name.class",

"entity.name.struct",

"entity.name.enum",

"entity.name.union",

"entity.name.trait",

"entity.name.interface",

"entity.name.impl",

"entity.name.type",         //类型定义或者类。

"entity.name.class.ford-decl",     //在C和c++中使用

                "entity.other.inherited-class",      //超类/基类名称

// "entity.name.function",     //函数实体

"entity.name.function.constructor",

                "entity.name.function.destructor",

"entity.name.namespace", //命名空间,包和模块

"entity.name.constant",          //常数

"entity.name.label", //类似goto的构造的标签

"entity.name.tag",     // HTML and XML tags标记。

"entity.name.section",     // 章节。 标记语言(如markdown)的标题名称

    "entity.other.attribute-name",          //  HTML, CSS and XML

  ],

"settings": {

"foreground": "#a0008b",    //只关于名字的 配色 

"fontStyle": "",

}

},

//5、meta元作用域用于范围更大的代码或标记部分,通常包含多个更具体的范围数据结构的完整内容

//  These are not intended to be styled by a color scheme, but used by preferences and plugins.

//如声明函数的整行将是 meta.function,子集将是 storage.type、entity.name.function、variable.parameter 等,并且只有后者才会被样式化。

{

"scope": [

"meta.class",

"meta.struct",

"meta.enum",

"meta.union",

"meta.trait",

"meta.interface",

"meta.impl",

"meta.type",

"meta.function", // 函数定义与声明的参数以及括号;宏定义代码段的参数及括号

"meta.function.parameters",

"meta.function.return-type",

"meta.namespace",

"meta.preprocessor",  // 预处理“#if”等的括号;宏定义的参数括号及代码段

"meta.annotation",

"meta.annotation.identifier",

"meta.annotation.parameters",

"punctuation.definition.annotation",

"meta.path", 

"meta.function-call",    //函数名称(包括完整路径)和所有参数

"meta.block",            //用{}描述的代码段使用以下范围,在{}内的字符使用另外的punctuation范围

"punctuation.section.block.begin",

"punctuation.section.block.end",

"meta.braces",

"punctuation.section.braces.begin",  // { and }

"punctuation.section.braces.end",

"meta.group",

"punctuation.section.group.begin",  //()

"punctuation.section.group.end",

"meta.parens",

"punctuation.section.parens.begin",

"punctuation.section.parens.end",

"meta.brackets",

"punctuation.section.brackets.begin",  //[ and ]

"punctuation.section.brackets.end",

"meta.generic",

"punctuation.definition.generic.begin", // < and >

"punctuation.definition.generic.end",

"meta.tag",        //HTML and XML tags

"meta.paragraph",    //标记语言的段落 markup

],

"settings": {

"foreground": "",     

"fontStyle": "",

}

},

{

"scope": [

"meta.function",

"meta.function-call",

],

"settings": {

"foreground": "#a0008b",     

"fontStyle": "",

}

},

{

"scope": [

"meta.function.parameters",

"meta.function.return-type",

],

"settings": {

"foreground": "#000000",     

"fontStyle": "",

}

},

//  6、函数 变量 参数 variable

{

"scope": [

"variable.other",      //其它变量,如 $some_variables。

"variable.other.readwrite",    //let、var声明的变量的颜色

"punctuation.definition.variable",  //the $ in PHP and Shell.

"variable.other.constant",      //const声明的不可变变量的颜色

"variable.language",    //语言保留变量,如 this、super、self 等。this、super等

"variable.parameter",  //函数参数

"variable.other.member",      //类或其他数据结构的字段,属性,成员

"variable.function",          //函数和方法名称的作用域,但仅限于调用时

"variable.annotation",              //作为数值一部分的标识符中的最终标签

"punctuation.definition.annotation"

],

"settings": {

"foreground": "#000000",      //函数参数

"fontStyle": "italic",

}

},

// 7、constant 各种形式的常数

{

"scope":[

"constant.numeric",            //数字  e.g. 42, 1.3f, 0x4AB1U.

"constant.numeric.integer",

"constant.numeric.integer.binary",

"constant.numeric.integer.octal",

"constant.numeric.integer.decimal",

"constant.numeric.integer.hexadecimal",

"constant.numeric.integer.other",

"constant.numeric.float",

"constant.numeric.float.binary",

"constant.numeric.float.octal",

"constant.numeric.float.decimal",

"constant.numeric.float.hexadecimal",

"constant.numeric.float.other",

"constant.numeric.complex",

"constant.numeric.complex.real",

"constant.numeric.complex.imaginary",

"constant.languag",          //true/false/null

"constant.character.escape",  //转义字符如\n和\x20    //匹配字符,e.g. &lt;, \e, \031.

"constant.other.placeholder",        //格式化占位符 %s

"constant.other",                  //其他常量,如css中的颜色

],

"settings": {

"foreground": "#df1010",  //数字

"fontStyle": "",

}

},

//8 、字符串

{

"scope": [

"string.quoted",  //带引号的字符串

"string.quoted.single",  //单引号字符串,如 'foo'。

"string.quoted.double",  //双引号字符串,如 "foo"。

"string.quoted.triple",  //三引号字符串,如 """Python"""。

"string.quoted.other",  // 其它字符串,如 $'shell'、%s{...}。

"meta.string",

"punctuation.definition.string.begin",

"punctuation.definition.string.end",

"string.quoted.unquoted",    //如未加引号 here-docs 和 here-strings。

"string.quoted.regexp",      //正则表达式。

"meta.interpolated",  //需要被计算的字符串,如 反引号date反引号、$(pwd)。

"punctuation.section.interpolation.begin",

"punctuation.section.interpolation.end",

"source.language-suffix.embedded",

],

"settings": {

"foreground": "#a31515",  //字符串

"fontStyle": "",

}

},

// 9、comment 注释

{

"scope": [

    "comment.line",

"comment.block",  //block:多行注释

"comment.block.documentation",  //多行注释    / … / and <!-- … -->

"punctuation.definition.comment",

"meta.toc-list",

],

"settings": {

"foreground": "#005500b7",        //注释

"fontStyle": "",

//斜体 "fontStyle": "italic",

//斜体下划线 "fontStyle": "italic underline",

//斜体粗体下划线 "fontStyle": "italic bold underline",

}

},

//10、 punctuation  括号之类

{

"scope": [   

// "punctuation.separator",    //,和:

// "punctuation.terminator",  //;和其他语句终止符    分号(代码终止符)

// "punctuation.separator.continuation",    //行继续字符

// "punctuation.accessor",          //.

],

"settings": {

"foreground": "",  // 符号 , () 等  颜色

"fontStyle": "",

}

},

//11 invalid:非法内容

{

"scope": [

"invalid.illegal",    //非法,如 HTML 中的 & 等(非实体 / tag 中的部分)。 

"invalid.deprecated",  //过时内容,如使用了不推荐使用的 API 函数。

],

"settings": {

"foreground": "#e93636"

}

},

      // 12、markup 标记作用域用于内容,而不是代码(包括Markdown和Textile等语法)

  {

"scope": [

"markup.heading",    //章节头。(可选)为接下去的元素提供标题级别,如 HTML 中的

"markup.list.numbered",  // 有序列表项。

"markup.list.unnumbered", // 无序列表项。

"markup.bold",      //加粗文本。

"markup.italic",      //斜体文本。

"markup.underline",    //带下划线

"markup.inserted",  //插入

"markup.deleted",    //删除

"markup.underline.link", //  用于超链接,为了方便起见,它是从 markup.underline 派生的,这的话即使没有专门针对 markup.underline.link 的主题规则,也能继承下划线样式。

"markup.quote",      //逐字文本,如代码项。通常对于 markup.raw 是禁用拼写检查的。

"markup.raw.inline",  //逐字记录的文本

"markup.raw.block",

"markup.other",      //其它标记结构。

],

"settings": {

"foreground": "",

"fontStyle": "",

}

},

{

"scope": "markup.underline",

"settings": {

"fontStyle": "underline"

}

},

{

"scope": "markup.bold",

"settings": {

"fontStyle": "bold",

"foreground": "#000080"

}

},

{

"scope": "markup.heading",

"settings": {

"fontStyle": "bold",

"foreground": "#800000"

}

},

{

"scope": "markup.italic",

"settings": {

"fontStyle": "italic"

}

},

{

"scope": "markup.inserted",

"settings": {

"foreground": "#098658"

}

},

{

"scope": "markup.deleted",

"settings": {

"foreground": "#a31515"

}

},

{

"scope": "markup.changed",

"settings": {

"foreground": "#0451a5"

}

},

{

"scope": "markup.inline.raw",

"settings": {

"foreground": "#800000"

}

},

{

"name": "brackets of XML/HTML tags",

"scope": "punctuation.definition.tag",

"settings": {

"foreground": "#800000"

}

},

// 13、source 应用于整个源代码文件

{

"scope": [

"source",

],

"settings": {

"foreground": "",

"fontStyle": "",

}

},

//14、text

{

"name":"text",

"scope": [

"text.html",    //html

"text.xml",      //xml

],

"settings": {

"foreground": "",

"fontStyle": "",

}

},

]

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342