如何在构建系统中使用没有可用选择器(如等)的自定义扩展名(如等)定义*.ltx
选择器?*.cmake
text.tex.latex
source.c++
是否可以?如果是 - 如何?
如何在构建系统中使用没有可用选择器(如等)的自定义扩展名(如等)定义*.ltx
选择器?*.cmake
text.tex.latex
source.c++
是否可以?如果是 - 如何?
如果您定义一个新的语法定义(即,一个新的 .tmLanguage 文件),这是可能的。语法定义可以声明新的“范围名称”,然后您可以在新的自定义构建系统中使用它们。
新的语法定义文件实际上不必定义/匹配文件的语法,因为您可以简单地通过文件扩展名进行匹配......!
在此处查看.tmLanguage文件语法。“scopeName”项允许您命名新范围(即“text.tex.latex”等)。我将在下面通过一个示例。
我创建了一个定义新范围的新语法——它非常简单(就像 Sublime 中的大多数东西一样):
{ "name": "语法名称", "scopeName": "source.syntax_name", “文件类型”: [””], “模式”:[ ], “uuid”:“……” }
... 将“语法名称”替换为描述性名称,将“source.syntax_name”替换为您的新范围名称,并填写“fileTypes”以包含一个或多个文件扩展名。例如:
"fileTypes": ["tex", "ltx"]
你完成了!任何恰好具有“fileTypes”中定义的扩展名之一的新文件都将激活“scopeName”范围。
您现在可以在新的构建系统文件中使用此范围(工具 > 构建系统 > 新构建系统...)
干杯!