【发布时间】:2018-06-29 22:39:46
【问题描述】:
我正在尝试通过TextMate language grammars 使用Visual Studio Code's theme settings 创建自定义语法样式。
具体来说,我想将 JavaScript 的所有保留关键字都用斜体表示。通过下面的设置,我已经成功完成了 98% 的路径(剩余部分包括 cmets)。
很遗憾,我找不到一些规则:
-
storage包含粗箭头符号,我确实不想 想要包含它。我试图更具体,如下面的设置所示,但无法找到constructor和const的更具体设置。此外,"storage.type.function"是我能找到的最明确的函数设置(function 关键字需要,但它包含粗箭头)。 -
keyword包含逻辑运算符等字符,我再次不想要包含这些字符。keyword.operator是文本运算符所必需的(例如in、instanceof),但包括字符运算符。 - 我找不到
eval(严格禁止)或package(未使用的未来关键字)的规则。
有什么想法吗?
const settings = {
"editor.tokenColorCustomizations": {
"textMateRules": [
{
"scope": [
// TODO: missing keywords: package, eval
// all comment types
"comment",
// true, false, null
"constant.language",
// import, from, export, default, return, if, for, break, continue, try, catch, finally,
// throw, default, yield, await
"keyword.control",
// TODO: remove operator symbols
// in, void, delete, instanceof
"keyword.operator",
// debugger
"keyword.other",
// new
"keyword.operator.new",
// enum
"storage.type.enum",
// super, this, arguments
"variable.language",
// attributes in html, jsx, etc.
"entity.other.attribute-name",
// TODO: remove storage.type after finding explicit for constructor, const, let, var
"storage.type",
// static, extends, async, private, public, implements
"storage.modifier",
// TODO: exclude fat arrow
// function
"storage.type.function",
// class
"storage.type.class",
// interface
"storage.type.interface",
],
"settings": {
"fontStyle": "italic"
}
},
]
},
};
【问题讨论】:
标签: javascript visual-studio-code textmate vscode-settings