我如何定义在构建系统选择与自定义扩展(如*.ltx
, *.cmake
等),对此有没有可用的选择(如text.tex.latex
, source.c++
等)?
可能吗? 如果是的话 - 如何?
我如何定义在构建系统选择与自定义扩展(如*.ltx
, *.cmake
等),对此有没有可用的选择(如text.tex.latex
, source.c++
等)?
可能吗? 如果是的话 - 如何?
这是可能的,如果你定义一个新的语法定义(即新.tmLanguage文件)。 语法定义可以宣布新的“范围名称”然后你就可以在你的新用途,自定义生成系统。
新的语法定义文件实际上并没有定义/匹配文件的语法,你可以简单地按文件扩展名匹配...!
看看这里的.tmLanguage文件语法。 该“scopeName”项目允许您命名新的范围(即“text.tex.latex”等)。 我会去通过下面的例子。
我创建了定义了新的范围新的语法 - 这是很容易的(就像在崇高的大多数事情):
{ "name": "Syntax Name", "scopeName": "source.syntax_name", "fileTypes": [""], "patterns": [ ], "uuid": "..." }
...使用描述性名称替换“语法名称”,“source.syntax_name”你的新范围的名称,并在“文件类型”填写包含一个或多个文件扩展名。 例如:
"fileTypes": ["tex", "ltx"]
你完成了! 碰巧在“文件类型”中定义的扩展名的任何新文件将激活“scopeName”范围。
现在,您可以在一个新的构建系统文件中使用此范围( 工具>构建系统>新构建系统......)
干杯!