在 Sublime Text 中将突出显示与文件名而不是扩展名相关联

sec*_*ded 2 syntax-highlighting sublimetext2 sublimetext3 sublime-text-plugin

是否可以将特定的自定义语法突出显示与具有特定名称的文件相关联?例如,所有名为“runfile”的文件将被视为编程语言“foo”。

Oda*_*urd 5

虽然有点违反直觉,但 Sublime Text 处理没有扩展名的文件名的方式与出于语法检测目的而处理文件扩展名的方式相同。Makefile例如,这使得它可以将文件名与适当的语法相关联。

因此,为了按照您想要的方式进行设置,您只需采取与在 Sublime 中将特定扩展与语法关联起来所采取的相同步骤,即:

  1. 打开要为其设置语法的类型(或在本例中为名称)的文件,并确保它是当前活动的文件
  2. View > Syntax > Open all with current extension as...从菜单中选择(或单击状态栏中的当前语法名称)并选择适当的语法。

一旦执行此操作,文件应该立即切换到适当的语法(如果尚未切换到适当的语法),并且关闭并重新打开它也应该应用正确的语法。

这适用于任何不带有扩展名的文件,但如果这些文件的名称发生更改,它很快就会变得难以处理。在您的特定情况下,这并不重要,因为所有文件都被命名为runfile.

如果您需要文件名列表(无论是否带有扩展名)的此功能,则需要一个插件或添加包来捕获事件on_load并更改文件的语法。

Package Control上可能已经存在也可能没有这样的包;例如, ApplySyntax或许可以做到这一点。

  • 这个开放问题也可能与未来相关:https://github.com/SublimeTextIssues/Core/issues/1353#issuecomment-246982762 (2认同)