崇高的文本2:构建系统的自定义选择(Sublime Text 2: build system cus

2019-08-05 10:01发布

我如何定义在构建系统选择与自定义扩展(如*.ltx*.cmake等),对此有没有可用的选择(如text.tex.latexsource.c++等)?

可能吗? 如果是的话 - 如何?

Answer 1:

这是可能的,如果你定义一个新的语法定义(即新.tmLanguage文件)。 语法定义可以宣布新的“范围名称”然后你就可以在你的新用途,自定义生成系统。

新的语法定义文件实际上并没有定义/匹配文件的语法,你可以简单地按文件扩展名匹配...!

看看这里的.tmLanguage文件语法。 该“scopeName”项目允许您命名新的范围(即“text.tex.latex”等)。 我会去通过下面的例子。


我创建了定义了新的范围新的语法 - 这是很容易的(就像在崇高的大多数事情):

  • 在命令面板,选择“包控制:安装包”
  • 在软件包列表中,选择“PackageDev”
  • 通过选择Tools>软件包>程序包开发>新语法定义创建一个新的语法定义
  • 你的新的语法定义如下所示:
{ "name": "Syntax Name",
  "scopeName": "source.syntax_name",
  "fileTypes": [""],
  "patterns": [
  ],
  "uuid": "..."
}

...使用描述性名称替换“语法名称”,“source.syntax_name”你的新范围的名称,并在“文件类型”填写包含一个或多个文件扩展名。 例如:

"fileTypes": ["tex", "ltx"]

  • 使用包下一个“以.json-tmLanguage”扩展名保存文件/用户
  • 选择Tools>构建系统>选择JSON来tmLanguage
  • 选择工具>生成

你完成了! 碰巧在“文件类型”中定义的扩展名的任何新文件将激活“scopeName”范围。

现在,您可以在一个新的构建系统文件中使用此范围( 工具>构建系统>新构建系统......)

干杯!



文章来源: Sublime Text 2: build system custom selector