如何编辑 VisualStudio 代码的默认暗主题?

我用的是64位的 Windows 7。

Is there a way to edit default dark theme in the Visual Studio Code? In %USERPROFILE%\.vscode folder there are only themes from the extensions, while in installation path (I used default, C:\Program Files (x86)\Microsoft VS Code) there are files of some standard themes in \resources\app\extensions, like Kimbie Dark, Solarized Dark/Light or variants of Monokai, but there is no default dark theme.

但是,如果毕竟有可能编辑它,那么在 C + + 语言中,哪些代码块负责对象成员的颜色、指针成员以及类和结构的名称?

182934 次浏览

您不能“编辑”默认主题,它们是“锁定”的

However, you can copy it into your own custom theme, with the exact modifications you'd like.

欲了解更多信息,请参阅以下文章: Https://code.visualstudio.com/docs/customization/themes Https://code.visualstudio.com/docs/extensions/install-extension#_your-extensions-folder

如果您只想更改 C + + 代码的颜色,那么您应该考虑覆盖 c + + 支持的着色器。有关这方面的信息,请点击这里: Https://code.visualstudio.com/docs/customization/colorizer

EDIT: The dark theme is found here: https://github.com/Microsoft/vscode/tree/80f8000c10b4234c7b027dccfd627442623902d2/extensions/theme-colorful-defaults

编辑2: 澄清:

就主题而言,VS Code 的每一个部分都和 Subrise 一样可编辑。您可以编辑 VS 代码附带的任何默认主题。你只需要知道在哪里可以找到主题文件。

附注: 我喜欢 Monokai 的主题。然而,我想改变的只是背景。我不喜欢深灰色的背景。相反,我认为纯黑背景的对比效果更好。代码会显示得更多。

Anyways, I hunted for the theme file and found it (in windows) at:

c:\Program Files (x86)\Microsoft VS 代码资源应用程序扩展主题-monokai 主题

In that folder I found the Monokai.tmTheme file and modified the first background key as follows:

<key>background</key>
<string>#000000</string>

在主题文件中有一些“背景”键,请确保您编辑的是正确的。我编辑的那个在最上面。我想是12号线。

医生现在有一整节关于这个。

基本上,使用 npm安装 yo,并运行命令 yo code,您将得到一个基于文本的小向导——其中一个选项是创建和编辑默认暗方案的副本。

你要找的文件在,

Microsoft VS Code\resources\app\extensions\theme-defaults\themes

on Windows and search for filename dark_vs.json to locate it on any other system.


更新:

使用新版本的 VSCode,您不需要搜寻设置文件来自定义主题。现在可以使用 workbench.colorCustomizationseditor.tokenColorCustomizations用户设置自定义颜色主题。关于这个问题的文件可以找到 给你

MAC 操作系统解决方案

我不确定这个答案是否适合这里,但是我想为 MAC 用户分享一个解决方案,如果我开始一个新的问题并在那里回答自己,看起来会很尴尬。


寻找你的 VSCode 主题路径如下:

. . your _ install _ location/Visual Studio 内容/资源/应用程序/扩展/主题名/主题/主题 _ file. json

打开。Json 文件,并寻找要更改的目标样式。在我的例子中,我想要更改空格渲染颜色 < br > ,我发现它是 < br > "editorWhitespace.foreground" < br > ,所以在 Visual Studio Code 中的 settings.json下,< br > 我添加了以下代码行(我在 Workspace Settings 中这样做) ,< br >

"workbench.colorCustomizations": {
"editorWhitespace.foreground": "#93A1A130" // stand as #RRGGBBAA
}

解决方案导自: https://code.visualstudio.com/docs/getstarted/themes#_customize-a-color-theme


不要忘记 ⌘ Command + S保存设置生效。

任何颜色主题都可以在 VS Code 1.12或更高版本的设置部分中更改:

 // Overrides colors from the currently selected color theme.
"workbench.colorCustomizations": {}

参见 https://code.visualstudio.com/docs/getstarted/themes#_customize-a-color-theme

可编辑的值: https://code.visualstudio.com/docs/getstarted/theme-color-reference

编辑: 要更改语法颜色,请参见这里: https://code.visualstudio.com/docs/extensions/themes-snippets-colorizers#_syntax-highlighting-colors和这里: https://www.sublimetext.com/docs/3/scope_naming.html

在 VS 代码“用户设置”中,你可以使用下面的标签来编辑可见的颜色(这是一个例子,还有更多的标签) :

"workbench.colorCustomizations": {
"list.inactiveSelectionBackground": "#C5DEF0",
"sideBar.background": "#F8F6F6",
"sideBar.foreground": "#000000",
"editor.background": "#FFFFFF",
"editor.foreground": "#000000",
"sideBarSectionHeader.background": "#CAC9C9",
"sideBarSectionHeader.foreground": "#000000",
"activityBar.border": "#FFFFFF",
"statusBar.background": "#102F97",
"scrollbarSlider.activeBackground": "#77D4CB",
"scrollbarSlider.hoverBackground": "#8CE6DA",
"badge.background": "#81CA91"
}

如果您想编辑一些 C + + 颜色标记,请使用以下标记:

"editor.tokenColorCustomizations": {
"numbers": "#2247EB",
"comments": "#6D929C",
"functions": "#0D7C28"
}

The simplest way is to edit the user settings and customise workbench.colorCustomizations

Editing color customizations

If you want to make your theme

还有一个选项是修改当前主题,它将复制当前主题设置并将其保存为 *.color-theme.json JSON5文件

Generate color theme from current settings

正如其他人所说,您需要覆盖 setings.json 文件中的 editor.tokenColorCustomizationsworkbench.colorCustomizations设置。在这里,您可以选择一个基本主题,比如深渊,并且只覆盖您想要更改的内容。您可以很容易地覆盖函数、字符串颜色等很少的内容。

例如 workbench.colorCustomizations

"workbench.colorCustomizations": {
"[Default Dark+]": {
"editor.background": "#130e293f",
}
}

例如 editor.tokenColorCustomizations:

"editor.tokenColorCustomizations": {
"[Abyss]": {
"functions": "#FF0000",
"strings": "#FF0000"
}
}
// Don't do this, looks horrible.

但是,深度定制,如更改 var关键字的颜色将需要您在 textMateRules键下提供覆盖值。

例如:

"editor.tokenColorCustomizations": {
"[Abyss]": {
"textMateRules": [
{
"scope": "keyword.operator",
"settings": {
"foreground": "#FFFFFF"
}
},
{
"scope": "keyword.var",
"settings": {
"foreground": "#2871bb",
"fontStyle": "bold"
}
}
]
}
}

您还可以跨主题覆盖全局:

"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": [
//following will be in italics (=Pacifico)
"comment",
"entity.name.type.class", //class names
"keyword", //import, export, return…
//"support.class.builtin.js", //String, Number, Boolean…, this, super
"storage.modifier", //static keyword
"storage.type.class.js", //class keyword
"storage.type.function.js", // function keyword
"storage.type.js", // Variable declarations
"keyword.control.import.js", // Imports
"keyword.control.from.js", // From-Keyword
//"entity.name.type.js", // new … Expression
"keyword.control.flow.js", // await
"keyword.control.conditional.js", // if
"keyword.control.loop.js", // for
"keyword.operator.new.js", // new
],
"settings": {
"fontStyle": "italic"
}
}
]
}

详情请浏览这里: https://code.visualstudio.com/api/language-extensions/syntax-highlight-guide

我来这里想找到一种方法来编辑主题,但在我的 Mac 电脑上找不到。 After a deep dive, finally I found the install place:

~/.vscode/extensions

所有分机都放进去!

剧情回顾

通过切换到主题,然后从命令面板中选择 Developer > Generate Color Theme From Current Settings,您可以获得任何主题(包括内置主题)的颜色。

细节

  1. Switch to the builtin theme you wish to modify by selecting Preferences: Color Theme from the command palette then choosing the theme.

  2. 从命令面板中选择 Developer > Generate Color Theme From Current Settings来获取该主题的颜色。
    color-theme部分将在编辑文件时启用颜色选择器小部件,jsonc将文件类型设置为 JSON with comments

  3. 从命令面板中选择 Preferences: Open Settings (JSON)打开 settings.json文件。然后将所需的更改添加到 workbench.colorCustomizationstokenColorCustomizations部分。

    • 要将设置限制为只包含这个主题,可以使用关联数组,其中键是括号中的主题名称([]) ,值是设置的关联数组。
    • 主题名称可以在 workbench.colorThemesettings.json中找到。

例如,下面将从“颜色主题”列表中自定义列为 Dark+ (default dark)的主题。它将编辑器的背景设置为接近黑色,将评论的语法突显设置为暗灰色。

// settings.json
"workbench.colorCustomizations": {
"[Default Dark+]": {
"editor.background": "#19191f"
}
},
"editor.tokenColorCustomizations": {
"[Default Dark+]": {
"comments": "#5F6167"
}
},


在安装了 VS Code 的 Ubuntu 中,我在 /snap/code/55/usr/share/code/resources/app/extensions/theme-defaults/themes/dark_plus.json找到了这个主题

最新版本的 VS 代码,你可以自定义颜色,使它更个性化使用工作台,如下面的 gif 图像:

enter image description here

转到 设定 > 颜色定制 > Edit in settings.json

添加使用 editor.tokenColorCustomizations的颜色设置,例如更改所有默认 Dark + + 主题的注释,您可以添加以下代码:

"editor.tokenColorCustomizations":{
"comments": "#fff000"
}
ctrl+k+t if you want to switch from a dark theme to other theme


For customizing default dark theme,


1 Click on the left bottom gear(Manage) on visual studio
2 Select Settings
3 Type JSON in search settings, Click on Edit JSON Settings
4 Inside Workspace settings in the left columns, paste the following code.
5 Hover over each property and change the default # color value to the one
liked


        

"workbench.colorCustomizations": {
"list.inactiveSelectionBackground": "#C5DEF0​",
"sideBar.background": "#F8F6F6​",
"sideBar.foreground": "#000000​",
"editor.background": "#FFFFFF​",
"editor.foreground": "#000000​",
"sideBarSectionHeader.background": "#CAC9C9​",
"sideBarSectionHeader.foreground": "#000000​",
"activityBar.border": "#FFFFFF​",
"statusBar.background": "#102F97​",
"scrollbarSlider.activeBackground": "#77D4CB​",
"scrollbarSlider.hoverBackground": "#8CE6DA​",
"badge.background": "#81CA91​"}

为了确保这个设置工作,您还需要在 tokenColorCustomations 中选择当前主题,否则您可能会得到一个错误,因为“覆盖当前选择的颜色主题的颜色”

  "editor.tokenColorCustomizations": {
"[Default Dark+]": {
            

},
},
"workbench.colorCustomizations": {
"editor.selectionBackground": "#0698b9",
"editor.selectionHighlightBackground": "#0b5768",
"editor.findMatchBorder":"#ff0000"
},

编码主题设置