在Visual Studio代码中修改编辑器文本颜色?

Flo*_*lom 6 fonts customization text colors visual-studio-code

也许有人可以帮助我解决Visual Studio Code中的一个小问题,这使我发疯...;-/ ...

  • 我知道如何安装和切换不同的颜色主题(例如“ dark-plus”等)。
  • 我发现了如何修改(在settings.json中):

editor.tokenColorCustomizations“:{” [dark-plus-syntax]“:{” comments“:”#649664“}

但是我所有的搜索都没有揭示出可以想到的最基本的修改:如何仅更改标准编辑器字体的颜色?

任何想法如何轻松做到这一点?我想稍微调暗大多数深色主题的明亮字体颜色,以减少对比度/眼睛疲劳。

我试图修改相应的文件(例如dark-plus-syntax-color-theme.json),但仅使用默认字体颜色在其中找不到任何内容。

[注:我认为这几乎是荒谬的,我在谷歌搜索了一个小时后发现了各种方式来进行自定义...但并不是最简单的调整。]

Sco*_*eak 17

让我们具体一点,在使用“Dark+”主题时,尝试在 C++ 源文件中更改标识符等的“正常”文本颜色。在我的设置中,这些标识符的颜色为“#D4D4D4”(浅灰色,如 RRGGBB)。出于演示目的,我将其更改为“#080”(中等绿色,如 RGB)。

首先打开一个 C++ 源文件。打开命令面板 (Ctrl+Shift+P) 并运行“Developer: Inspect TM Scopes”命令。

编辑 2020-08-04:从 VSCode 1.47.2(也许更早一点)开始,该命令现在称为“开发人员:检查编辑器令牌和范围”。

调用该命令后,将光标移动到标识符。例如:

屏幕截图:cout 标识符,自定义前

在这种情况下,我们注意到它显示“没有主题选择器”。也就是说tokenColors主题的属性不是设置这个颜色,而是colors主题的普通属性,特别是editor.foreground颜色。这可以通过设置在Sean 的回答中被覆盖:workbench.colorCustomizationssettings.json

    "workbench.colorCustomizations": {
        "editor.foreground": "#080"
    },
Run Code Online (Sandbox Code Playgroud)

保存settings.json并返回到 C++ 源文件。现在看起来像这样:

截图:cout 标识符,自定义后

好的,这是进步,但操作员仍然有他们原来的颜色。再次使用“Developer: Inspect Editor Tokens and Scopes”:

屏幕截图:less-less 运算符,自定义前

这一次,我们看到的是:

  keyword.operator { "foreground": "#d4d4d4" }
Run Code Online (Sandbox Code Playgroud)

这是来自主题tokenColors属性的规则,我们需要使用textMateRulesin覆盖它settings.json

    "editor.tokenColorCustomizations": {
        "textMateRules": [
            {
                "scope": [
                    "keyword.operator",
                ],
                "settings": {
                    "foreground": "#080",
                },
            },
        ],
    },
Run Code Online (Sandbox Code Playgroud)

现在运营商也是绿色的:

截图:less-less operator,定制后

根据需要重复该过程,直到覆盖所有颜色。

如果您想进行更复杂的更改(例如仅更改某些操作符颜色),我建议您阅读TextMate Scope Selectors 手册。这就是“范围标签堆栈”有用的地方。但请注意,VSCode 并没有完全实现那里描述的内容(尽管它很接近),并且没有记录它实现的内容。

settings属性的功能没有详细记录,但基本上您只能设置foreground颜色和fontStyle, 。的fontStyle可以是任何空格分隔组合bolditalicunderline。不幸的是,您无法设置背景颜色。


小智 9

以下对我有用:

  1. settings.json
"workbench.colorCustomizations": { 
    "editor.foreground": "#aabbcc" 
}
Run Code Online (Sandbox Code Playgroud)
  1. 节省 settings.json

  2. 选择不同的颜色主题。您需要做的就是打开选择器菜单并导航到不同的主题。一旦我这样做了,前台定制就生效了。

系统信息:

  • OS X 10.14.4
  • VSCode 1.33.1

  • 您需要一个颜色选择器:https://www.google.com/search?q=color+picker+hex 哈哈。顺便说一句,我很欣赏这个问题的简短回答。 (2认同)