在 Visual Studio 代码中修改编辑器文本颜色?
Posted
技术标签:
【中文标题】在 Visual Studio 代码中修改编辑器文本颜色?【英文标题】:Modify editor text color in visual studio code? 【发布时间】:2019-05-13 02:25:26 【问题描述】:也许有人可以帮我解决 Visual Studio Code 中的一个小问题,这让我抓狂... ;-/ ...
我知道如何安装和切换不同的颜色主题(如 “dark-plus”等)。 我发现了如何修改(在 settings.json 中):editor.tokenColorCustomizations": “[暗加语法]”: "cmets": "#649664"
但是我所有的谷歌搜索都没有发现最基本的修改可以想象:我如何只更改标准编辑器字体颜色?
知道如何轻松做到这一点吗?我想将大多数深色主题的明亮字体颜色变暗一点,以减少对比度/眼睛疲劳......
我尝试修改相应的文件(例如,dark-plus-syntax-color-theme.json),但没有发现其中只有默认字体颜色。
[注意:我认为这几乎有点荒谬,我在谷歌上搜索了一个小时后发现了各种自定义方式......但不是这个最简单的调整。]
【问题讨论】:
不就是editor.foreground吗?在我的手机上,无法查看 @Mark editor.foreground 没有为我做任何改变。也就是说,我尝试了以下组合: 1.) "editor.tokenColorCustomizations": "[dark-plus-syntax]": "editor.foreground": "#FF0000" 2.) "workbench.colorCustomizations": "editor.foreground": "#FF0000" 在 settings.json 中......但我有点困惑,在哪里放置这样的行。也许我在这里遗漏了一些重要的东西。但是在 Visual Studio 代码的“帮助”页面上没有找到任何有用的信息——要么非常基本,要么只是暗示一些事情:-/ 好的,我尝试了 editor.foreground 并没有做太多大概是因为几乎所有内容都被主题语法颜色覆盖了。因此,例如,变量或函数关键字、字符串等都从主题语法规则而不是 editor.foreground 中获取颜色。所以我认为除非你找到一个实际上没有语法着色规则的主题,否则你试图做的事情是不可能的。那里一定有一些。 感谢您对此有所了解! :) 我仍然很困惑:假设一个主题覆盖了所有内容(使 editor.foreground 无用):我打开了一个文件并尝试更改相当亮的白色文本 [例如在 dar-plus 主题中]。 => 在 theme.json 文件中的某处应该有一个语法标记,它改变了这个白色文本?但情况似乎并非如此。真的很奇怪... :-| [我仍然感到惊讶,visual-studo-code 帮助页面上有这么多材料,但默认字体颜色却没有——在我看来这是最基本和最常见的调整之一?]跨度> 【参考方案1】:以下对我有用:
-
在
settings.json
:
"workbench.colorCustomizations":
"editor.foreground": "#aabbcc"
保存settings.json
选择不同的颜色主题。您需要做的就是打开选择器菜单并导航到不同的主题。一旦我这样做了,前台自定义就生效了。
系统信息:
OS X 10.14.4 VSCode 1.33.1【讨论】:
你需要一个颜色选择器:google.com/search?q=color+picker+hex Lol。顺便说一句,我很欣赏这个问题的简短回答。【参考方案2】:让我们具体一点,在使用“Dark+”主题时,尝试在 C++ 源文件中更改标识符等的“正常”文本颜色。在我的设置中,这些标识符的颜色为“#D4D4D4”(浅灰色,如 RRGGBB)。出于演示目的,我将其更改为“#080”(中绿色,为 RGB)。
首先打开一个 C++ 源文件。打开命令面板(Ctrl+Shift+P)并运行“Developer: Inspect TM Scopes”命令。
编辑 2020-08-04:从 VSCode 1.47.2(可能更早一点)开始,该命令现在称为“Developer: Inspect Editor Tokens and Scopes”。
调用该命令后,将光标移动到一个标识符上。例如:
在这种情况下,我们注意到它显示“没有主题选择器”。这意味着主题的tokenColors
属性没有设置此颜色,而是主题的普通colors
属性,特别是editor.foreground
颜色。这可以通过在settings.json
中设置workbench.colorCustomizations
来覆盖Sean's answer:
"workbench.colorCustomizations":
"editor.foreground": "#080"
,
保存settings.json
并返回到 C++ 源文件。现在看起来像这样:
好的,这就是进步,但操作符仍然具有原始颜色。再次使用“开发者:检查编辑器令牌和范围”:
这一次,我们看到的是“无主题选择器”,而不是:
keyword.operator "foreground": "#d4d4d4"
这是来自主题 tokenColors
属性的规则,我们需要在 settings.json
中使用 textMateRules
覆盖它:
"editor.tokenColorCustomizations":
"textMateRules": [
"scope": [
"keyword.operator",
],
"settings":
"foreground": "#080",
,
,
],
,
现在运营商也是绿色的:
根据需要重复该过程,直到覆盖所有颜色。
如果您想进行更复杂的更改(例如仅更改某些运算符颜色),我建议您阅读TextMate Scope Selectors manual。这就是“范围标签堆栈”有用的地方。但请注意,VSCode 并没有完全实现那里描述的内容(尽管它很接近),并且没有记录它所实现的内容。
settings
属性的功能没有很好的文档记录,但基本上您只能设置foreground
颜色和fontStyle
。 fontStyle
可以是bold
、italic
和underline
的任何空格分隔组合。很遗憾,您无法设置背景颜色。
【讨论】:
以上是关于在 Visual Studio 代码中修改编辑器文本颜色?的主要内容,如果未能解决你的问题,请参考以下文章
visual studio写完程序,编译以后,再改程序,编译器不编译改过后的程序
visual studio 和visual studio code 的区别