VSCode。如何在编辑样式后重新加载主题

时间:2017-06-06 13:02:55

标签: visual-studio-code vscode-extensions

您好我试图为VS Code制作自定义主题,并希望在编辑后立即看到样式更改,目前我需要重新启动编辑器以查看效率不高的更改。

是否有任何方法可以启用类似"热重载"主题/扩展开发?

3 个答案:

答案 0 :(得分:4)

  

编辑:来自vscode 1.31.0 hot-reload适用于[扩展开发主机(启动 F5 extensionHost]时的主题。

热重新加载工作在settings.json Ctrl + 。主题准备好后,只需移动内容。

"workbench.colorCustomizations": {},
"editor.tokenColorCustomizations": {
    "textMateRules": []
},

答案 1 :(得分:2)

我想出的最好的方法是制作一条捷径:

code -n c:\projectdir

并给它一个键盘快捷键,如Ctrl + F1。

然后,在编辑之后,保存文件,按Ctrl + F1,新的VS代码将打开,主题是新加载的。如果您打开具有多种不同语言的文件,则可以获得良好的预览效果。然后您可以再次关闭该窗口,并继续编辑您的主题。冲洗,重复。

答案 2 :(得分:2)

  

主题/扩展程序的“热重新加载”,

没有具体,但有一个重载窗口命令,这是非常快的 这是suggested solution by VSCode 您可以按 Ctrl + Shift + P 进行命令选项板,然后键入Reload Window

或定义键绑定:从菜单打开键盘快捷键或 Ctrl + K Ctrl + S
使用“搜索”查找“重新加载窗口”命令,添加所需的组合键

正如Alex和VSCode's themes article已经建议的那样, 一种灵活的编辑主题的方法是将包含您想要调整的值的行传输到“设置”中。或者创建新的,它更容易,因为你可以利用IntelliSense和“实时”更新,这不是真正的实时,但在设置文件保存(并非所有设置都是实时的,例如 editor.foreground 不会自动更新)
对更改或新条目感到满意后,将包含它们的行从“设置”转移到“主题”文件并重新加载 设置文件中的设置具有优先级,将覆盖主题文件中的值(如果它们存在)。

主题文件中通常有两个部分,一个定义工作台颜色
在主题文件中,这些设置位于colors密钥下。 e.g:

"colors": {
    "editor.background": "#000000",
    "editor.something": "#ffffff"
}

但要在用户设置中调整它们,它们必须进入workbench.colorCustomizations密钥。例如:

"workbench.colorCustomizations": {
    "editor.background": "#000000",
}

然后有语法突出显示颜色
这些可能位于tokenColors键下的数组中的主题文件中,或引用到外部文件中 要调整,例如字符串颜色和样式:

{
    "name": "String",
    "scope": "string",
    "settings": {
        "fontStyle": "",
        "foreground": "#E6DB74"
    }
},

将其放在editor.tokenColorCustomizations内的textMateRules下的用户设置中:

"editor.tokenColorCustomizations": {
    "textMateRules": [
        {
            "name": "String",
            "scope": "string",
            "settings": {
                "fontStyle": "",
                "foreground": "#E6DB74"
            }
        },
    ]
},

(*)尾随逗号
注意尾随的逗号,这是一个非常麻烦,因为最后一个条目不能有它,当你上下复制项目时,很容易错过一个。
有一点帮助,如果你将它放在那里,那么设置会原谅你。从某些角度来看,考虑到该设置仅暂时驻留在“设置”中,如果它已经存在于主题文件中并且您要放置行/块,则可能不太容易从“设置”中删除逗号。调整后回到主题文件。这就是我在上面的示例中针对JSON规则包含逗号的原因。

(*)JSON中的错误
如果您在JSON中出错,保存并重新加载VSCode,则不会显示任何更改。在发生错误之前,看起来VSCode仍在使用Theme文件中的缓存版本 这很令人困惑。预期的行为将是回归默认主题 如果你打开主题选择器,你的主题仍然被选中,但如果你选择另一个主题,然后想要选择你的主题(有错误),它将忽略该动作,保持另一个主题。这可能会进一步混淆,预计会显示错误,或者不允许进行选择。