您好我试图为VS Code制作自定义主题,并希望在编辑后立即看到样式更改,目前我需要重新启动编辑器以查看效率不高的更改。
是否有任何方法可以启用类似"热重载"主题/扩展开发?
答案 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文件中的缓存版本
这很令人困惑。预期的行为将是回归默认主题
如果你打开主题选择器,你的主题仍然被选中,但如果你选择另一个主题,然后想要选择你的主题(有错误),它将忽略该动作,保持另一个主题。这可能会进一步混淆,预计会显示错误,或者不允许进行选择。