如何在构建系统中使用自定义扩展(如* .ltx,* .cmake等)定义一个选择器,其中没有可用的选择器(如text.tex.latex,source.c等)? 可能吗?如果是 – 如何? 如果您定义新的语法定义(即新的.tmLan
可能吗?如果是 – 如何?
如果您定义新的语法定义(即新的.tmLanguage文件),则可能.语法定义可以声明新的“范围名称”,然后您可以在新的自定义构建系统中使用它们.新的语法定义文件实际上不必定义/匹配文件的语法,因为您只需通过文件扩展名匹配……!
以.tmLanguage文件语法查看here. “scopeName”项允许您命名新范围(即“text.tex.latex”等).我将在下面举例说明.
我创建了一个新的语法来定义一个新的范围 – 它很容易(像Sublime中的大多数东西):
>在命令选项板中,选择“程序包控制:安装程序包”
>在包列表中,选择’PackageDev’
>通过选择工具>创建新的语法定义;套餐>包装开发>新语法定义
>您的新语法定义如下所示:
{ "name": "Syntax Name", "scopeName": "source.syntax_name", "fileTypes": [""], "patterns": [ ], "uuid": "..." }
…将带有新范围名称的描述性名称“source.syntax_name”替换为“语法名称”,并填写“fileTypes”以包含一个或多个文件扩展名.例如:
“fileTypes”:[“tex”,“ltx”]
>使用Packages / User下的“.JSON-tmLanguage”扩展名保存文件
>选择工具>构建系统>选择Json到tmLanguage
>选择工具>建立
你完成了!任何恰好具有“fileTypes”中定义的扩展之一的新文件都将激活“scopeName”范围.
您现在可以在新的构建系统文件中使用此范围(工具>构建系统>新构建系统…)
干杯!