Mik*_*hke 19 visual-studio-code vscode-extensions
我目前正在尝试为新文件类型(ANTLR)编写扩展,并想知道如何在Visual Studio代码中更改用于语法突出显示的颜色.对我而言,它看起来好像没有在扩展中定义,而是在其他地方定义.没有颜色的首选项输入,也没有找到定义它的CSS文件(由于vscode正在使用Electron,我期望它).我还查看了生成的设置文件vscode和随附的文件,但也没有任何线索.网络搜索也没有帮助.所以,我现在有点迷路了.
有人可以给我一些提示或指向相关的文档吗?
Lau*_*aur 18
派对有点晚了,但我会在这里加上这个,以免下一个人花几个小时的搜索.
这里有两个概念:
如果您正在编写自己的语法,或者从TextMate等转换,那么您可能会使用与主题定义的范围不同的范围.在这种情况下,即使实际定义了令牌,也不会明确区分您定义的令牌.
有两种方法可以解决这个问题.首先是,使用自定义范围扩展主题并根据需要为它们着色.除非每个使用您语言的人都喜欢您的配色方案,否则这不是一个好方法.另一种是,使用VSCode和主题作者已经定义和着色的(有限集合)范围.很有可能,您的语言在您选择的主题中看起来很好,而在其他主题中则很好.
举个例子,这里是comment默认的暗VSCode主题定义的范围.
"name": "Dark Visual Studio",
"settings": [
{
"scope": "comment",
"settings": {
"foreground": "#608b4e"
}
},
Run Code Online (Sandbox Code Playgroud)
这是C++语法中的等效语言片段:
"comments": {
"patterns": [
{
"captures": {
"0": {
"name": "punctuation.definition.comment.java"
}
},
"match": "/\\*\\*/",
"name": "comment.block.empty.java"
},
Run Code Online (Sandbox Code Playgroud)
基本上,语言根据comment需要定义了多个令牌,并且由于主题表示comment.*将是绿色,因此它们都被着色为相同的颜色.
无需修补主题,来自官方文档:
要调整编辑器的语法高亮颜色,请在您的用户设置 settings.json 文件中使用 editor.tokenColorCustomizations
除了简单的令牌自定义之外,您还可以使用稍微复杂的设置完全覆盖 TextMate 规则,例如:
"editor.tokenColorCustomizations": {"textMateRules": [{
"scope": "keyword.control.ref.latex",
"settings": {
"foreground": "#FF0000"
}
}]}
Run Code Online (Sandbox Code Playgroud)
语法突出显示规则存储在.plist文件中(或另选地存储在文件中.tmLanguage)。在这些文件中,声明了不同的令牌类型以突出显示语法:
看看这里以获得有关它的更多信息:https : //code.visualstudio.com/Docs/customization/colorizer
您没有在.plist文件中定义颜色!
标记类型和颜色之间的关系在颜色主题声明中完成。
在https://code.visualstudio.com/Docs/customization/themes以及此处如何在Visual Studio Code中添加主题以了解更多信息 。
通常,当您尝试扩展VSCode时,此文档也很有帮助:https ://code.visualstudio.com/docs/extensionAPI/overview
| 归档时间: |
|
| 查看次数: |
22174 次 |
| 最近记录: |