如何编辑Visual Studio Code的默认黑暗主题?

Tor*_*o96 69 themes visual-studio-code

我正在使用Windows 7 64位.

有没有办法在Visual Studio代码中编辑默认的黑暗主题?在%USERPROFILE%.vscode文件夹中只有扩展的主题,而在安装路径(我使用默认,C:\ Program Files(x86)\ Microsoft VS Code)中有一些标准主题的文件在\ resources\app \扩展,如Kimbie Dark,Solarized Dark/Light或Monokai的变体,但没有默认的黑暗主题.

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

Che*_*age 60

在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"}
Run Code Online (Sandbox Code Playgroud)

如果要编辑某些C++颜色标记,请使用以下标记,

"editor.tokenColorCustomizations": {
    "numbers": "#2247EB",
    "comments": "#6D929C",
    "functions": "#0D7C28"
}
Run Code Online (Sandbox Code Playgroud)

  • 哦,找到了 https://code.visualstudio.com/api/references/theme-color#editor-colors (4认同)
  • 我的编辑由于某种原因被拒绝,但为了使这个答案专门解决OP更改特定主题的愿望,您可以指定主题并修改颜色而不更改主题文件: "workbench.colorCustomizations": { "[Kimbie Dark]" : { "activityBar.foreground":"#472c0c" } } (2认同)

小智 27

就主题而言,VS Code与Sublime一样可编辑.您可以编辑VS代码附带的任何默认主题.您只需要知道在哪里可以找到主题文件.

旁注:我喜欢Monokai主题.但是,我只想改变它的背景.我不喜欢深灰色的背景.相反,我认为对比度更好,背景为黑色.代码弹出更多.

无论如何,我寻找主题文件,并在(在Windows中)找到它:

c:\ Program Files(x86)\ Microsoft VS Code\resources\app\extensions\theme-monokai\themes \

在该文件夹中,我找到了Monokai.tmTheme文件并修改了第一个背景键,如下所示:

<key>background</key>
<string>#000000</string>
Run Code Online (Sandbox Code Playgroud)

主题文件中有一些"背景"键,请确保编辑正确的键.我编辑的那个是最顶层的.第12行我想.

  • Ubuntu安装位置类似于`/ usr/share/code/resources/app/extensions/theme-defaults/themes/dark_vs.json` (5认同)
  • 对于mac,我发现这些路径中的更新文件有效:`/ Users/user-name/.vscode/extensions/azemoh.one-monokai-0.3.3/themes/OneMonokai-color-theme.json` cmd + shift + p并键入`reload window` cmd立即尝试更改:) (3认同)

paa*_*ika 26

您要查找的文件是,

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

在Windows上搜索文件名dark_vs.json以在任何其他系统上找到它.

  • 默认情况下,VS Code 安装在 C:\users\{username}\AppData\Local\Programs\Microsoft VS Code (4认同)
  • 在Linux上,它位于`/ usr / share / code / resources / app / extensions / theme-defaults / themes`中。 (3认同)
  • 在 Arch Linux 上,它(开源版本)位于 `/usr/lib/code/extensions/theme-defaults/themes` (2认同)
  • 对此答案的更新是一个合理的建议。我发现,如果您直接编辑主题文件,它们可以/将会在 VS Code 更新时被覆盖。 (2认同)
  • 也许这对其他人来说是显而易见的,但在 Mac 上,它位于“/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/theme-defaults”中 (2认同)

Tob*_*lez 17

你无法"编辑"默认主题,它们被"锁定"

但是,您可以将其复制到您自己的自定义主题中,并进行您想要的精确修改.

有关详细信息,请参阅以下文章: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

编辑:黑暗的主题在这里找到:https://github.com/Microsoft/vscode/tree/80f8000c10b4234c7b027dccfd627442623902d2/extensions/theme-colorful-defaults

编辑2:澄清:


nee*_*ing 13

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

 // Overrides colors from the currently selected color theme.
  "workbench.colorCustomizations": {}
Run Code Online (Sandbox Code Playgroud)

请参阅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


jay*_*jay 11

最简单的方法是编辑用户设置并自定义 workbench.colorCustomizations

编辑颜色自定义

如果要制作主题

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

从当前设置生成颜色主题


Var*_*har 10

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

例如对于 workbench.colorCustomizations

"workbench.colorCustomizations": {
    "[Default Dark+]": {
        "editor.background": "#130e293f",
    }
}
Run Code Online (Sandbox Code Playgroud)

例如editor.tokenColorCustomizations

"editor.tokenColorCustomizations": {
    "[Abyss]": {
        "functions": "#FF0000",
        "strings": "#FF0000"
    }
}
// Don't do this, looks horrible.
Run Code Online (Sandbox Code Playgroud)

但是,诸如更改var关键字颜色之类的深度自定义将要求您在textMateRules键下提供覆盖值。

例如下面:

"editor.tokenColorCustomizations": {
    "[Abyss]": {
        "textMateRules": [
            {
                "scope": "keyword.operator",
                "settings": {
                    "foreground": "#FFFFFF"
                }
            },
            {
                "scope": "keyword.var",
                "settings": {
                    "foreground": "#2871bb",
                    "fontStyle": "bold"
                }
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

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

"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"
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

更多细节在这里:https : //code.visualstudio.com/api/language-extensions/syntax-highlight-guide

  • 感谢您的精彩回答!这对我帮助很大! (2认同)

ell*_*ing 7

MAC 操作系统解决方案

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


查找您的 VSCode 主题路径,如下所示:

..your_install_location/Visual Studio Code.app/Contents/Resources/app/extensions/theme-name/themes/theme_file.json

打开 .json 文件并查找要更改的目标样式。
对于我而言,我想改变空格渲染颜色
和我发现它
"editorWhitespace.foreground"
如此下settings.json在Visual Studio代码,
添加以下行(我在工作区设置做),

"workbench.colorCustomizations": {
    "editorWhitespace.foreground": "#93A1A130" // stand as #RRGGBBAA
}
Run Code Online (Sandbox Code Playgroud)

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


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


小智 5

域名

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

细节

  1. 通过Preferences: Color Theme从命令面板中选择然后选择主题,切换到您想要修改的内置主题。

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

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

    • 要将设置限制为仅此主题,请使用关联数组,其中键是括号 ( []) 中的主题名称,值是设置的关联数组。
    • 主题名称中可以找到settings.jsonworkbench.colorTheme

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

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

Run Code Online (Sandbox Code Playgroud)