我在哪里可以找到用于语法高亮的 tm-themes 的所有可能键的列表?

Posted

技术标签:

【中文标题】我在哪里可以找到用于语法高亮的 tm-themes 的所有可能键的列表?【英文标题】:Where can I find a list of all possible keys for tm-themes for syntax highlighting? 【发布时间】:2017-06-26 06:28:06 【问题描述】:

在我当前的文本编辑器的 tmTheme 文件中,有许多选项,包括下面代码中的选项。是否有一个列表定义了所有可能包含在此列表中的标签(例如backgroundinactiveSelectionfindHighlight 等)?

<dict>

<key>background</key>
<string>#1a1a1a</string>

<key>caret</key>
<string>#B6ECF9AF</string>

<key>foreground</key>
<string>#ecf0f1</string>

<key>invisibles</key>
<string>#F3FFB51A</string>

<key>lineHighlight</key>
<string>#2a2a2a</string>

<key>selection</key>
<string>#e74c3c55</string>

<key>selectionForeground</key>
<string>#ffffff</string>

<key>findHighlight</key>
<string>#e74c3c</string>

<key>inactiveSelection</key>
<string>#e74c3c77</string>

<key>gutter</key>
<string>#2a2a2a</string>

<key>gutterForeground</key>
<string>#ffffff</string>

<key>guide</key>
<string>#222222</string>

<key>activeGuide</key>
<string>#ffffff</string>

</dict>

另一个带有更多标签的例子:Other Theme

如果相关,我正在使用 VSCode。

【问题讨论】:

【参考方案1】:

tmLanguage 范围名称基于约定,因此没有明确的列表。不过,this TextMate 手册页底部的“命名约定”部分相当全面。

您还可以检查 VSCode 的默认主题突出显示的范围,例如参见 dark_plus.jsondark_vs.json(前者基于/包含)。

最后,从 VSCode 1.9.0 开始,有一个内置命令可以检查 tmLanguage 范围 (Developer: Inspect Editor Tokens and Scopes)。它将为您提供有关光标位置处的标记如何作用域/突出显示的大量信息:

还有一个Scope Info 扩展,它做了非常相似的事情,但在悬停时(我个人更喜欢可用性方面的)。但是,它只列出了范围名称,不包括 VSCode 的内置检查器具有的任何附加信息。

【讨论】:

我在这里试图找出的最重要的部分只是从悬停信息后面偷看:“范围”可以是范围名称的数组。我无法弄清楚如何指定这样的层次结构:"scope": ["text.html.markdown", "invalid.illegal.expected-dictionary-separator.json"]

以上是关于我在哪里可以找到用于语法高亮的 tm-themes 的所有可能键的列表?的主要内容,如果未能解决你的问题,请参考以下文章

使用 QScintilla 和 Qt/C++ 自定义语法高亮

在Notepad++里如何设置语法高亮

试着在Notepad ++中找到ColdFusion的语法高亮显示

用于 C 的 wxPython 语法高亮

不适用于 App Store - 有人可以告诉我在哪里可以找到系统音量代码吗?

pycharm生成图在哪里