如何在Sublime Text中自定义文件类型以进行语法关联?


Answers:


1166

在Sublime Text(在v2.x和v3.x中均已确认)中,有一个菜单命令:

查看->语法->使用当前扩展名将所有打开为...


18
您有什么想法可以在崇高的文本配置文件中得到体现吗?我正在尝试通过自动厨师食谱来实现这一点,但是我不知道要在设置JSON中设置什么。
布拉德

24
在Sublime Text 3中也同样起作用。感谢@TedG
Fusion14 2014年

11
@brad打开特定于语法的设置(“用户”文件夹中的Scala.sublime-settings),并将其添加到其中:{“ extensions”:[“ scala”,“ sbt”]}
省略

5
对于双扩展名的文件名也无法正常工作。编辑*.sublime-settings 工作。
MM。

9
如何为打开的没有扩展名的文件设置默认语法?
cavalcade

38

我找到了答案(通过进一步检查Sublime 2配置文件结构):

我要开

~/.config/sublime-text-2/Packages/Scala/Scala.tmLanguage

并对其进行编辑以在键之后将sbt(我想以Scala代码文件形式打开的文件扩展名)添加到数组中fileTypes

<dict>
  <key>bundleUUID</key>
  <string>452017E8-0065-49EF-AB9D-7849B27D9367</string>
  <key>fileTypes</key>
  <array>
    <string>scala</string>
    <string>sbt</string>
  <array>
  ...

PS:也许还有更好的方法,比如说放置自定义项的正确位置(需要自己修改软件包),我仍然想知道。


1
它现在在/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
GuillaumeMassé,2012年

2
我认为是用户库而不是系统库:~/Library/Application Support/Sublime Text 2/Packages/Scala/Scala.tmLanguage
seren

4
@Eric,您应该仔细阅读。。它将使用指定的语法打开具有该特定扩展名的所有文件。大多数时候,这就是您想要的。
Vincent Ketelaars,2013年

28

我将自定义的更改放入用户包中:

*nix: ~/.config/sublime-text-2/Packages/User/Scala.tmLanguage
*Windows: %APPDATA%\Sublime Text 2\Packages\User\Scala.tmLanguage

这也意味着它采用JSON格式:

{
  "extensions":
  [
    "sbt"
  ]
}

这是同一个地方

View -> Syntax -> Open all with current extension as ...

菜单项将其添加(如果不存在则创建文件)。


2
请注意,这是唯一一种方法(至少在ST2中),它可以为具有双扩展名的文件设置特定的语法(例如whatever.twig.html),因为菜单方法仅采用最后一种方法!
MM。

1
我发现这个作品具有崇高的文本3。我用View -> Syntax -> Open all with current extension as ...创建语言文件Markdown.sublime-settings~/Library/Application Support/Sublime Text 3/Packages/User/,然后编辑这个文件,添加额外的文件扩展名。
杰克·雷森


9

有一种快速设置语法的方法: Ctrl+ Shift+ P,然后在输入框中键入

ss +(要设置的类型)

例如:ss html +Enter

ss表示“设置语法”

它确实比检查菜单中的复选框更快。


7

对于ST3

$ language =“您希望的语言”

如果存在,

转到〜/ .config / sublime-text-3 / Packages / User / $ language .sublime-settings

其他

创建〜/ .config / sublime-text-3 / Packages / User / $ language .sublime-settings

并设置

{“扩展名:: [” yourextension “]}

这种方式允许您启用复合扩展的语法(例如sql.mustache,js.php等)


2
因此,要将.js.php文件与JavaScript关联,我应该创建一个名为Javascript.sublime-settings的文件,并用{ "extensions": [ "js.php" ] }?填充。
奥斯汀·施密特

是,如果文件不存在,如果已经存在,只需在“扩展名”数组上添加所需的扩展名即可。
xpeiro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.