Sublime Text 2:将Makefile.local识别为Makefile

时间:2012-11-26 14:28:38

标签: sublimetext2

如何配置Sublime Text 2以便将名为Makefile.local的文件识别为Makefile,这样我打开此文件时就不必手动执行“Set Syntax:Makefile”了?

2 个答案:

答案 0 :(得分:6)

将标记<string>Makefile.local</string>添加到 <array> 文件中的Makefile.tmLanguage部分。

<dict>
    <key>fileTypes</key>
    <array>
        <string>Makefile.local</string>
        <string>GNUmakefile</string>
        <string>makefile</string>
        <string>Makefile</string>
        <string>OCamlMakefile</string>
        <string>make</string>
    </array>
    <key>name</key>
...

要查找文件,请点击Preferences | Browse Packages...菜单。

该文件可用于更改更多Syntax Definition选项。

答案 1 :(得分:2)

您可以根据文件内容启用语法高亮显示。

例如,我有许多名为Makefile.msp430的类似的makefile,第一行如下:

#-*-Makefile-*- vim:syntax=make

这是其他编辑器的典型做法,例如vim。

但是,为此,您需要修改 Makefile.tmLanguage个文件。

  1. 在以下位置找到文件(对于Ubuntu中的Sublime Text 3):

    /opt/sublime_text/Packages/Makefile.sublime-package
    
  2. 注意,这确实是一个zip文件。复制它,最后用.zip重命名,然后从中提取Makefile.tmLanguage文件。

    1. 通过在“fileTypes”部分之后添加“firstLineMatch”键和字符串来编辑新的Makefile.tmLanguage。在下面的示例中,最后两行是新的(应该由您添加)。 <string>部分包含正则表达式,它将为与第一行匹配的文件启用语法突出显示。此表达式可识别两种模式:“#-*-Makefile-*-”和“vim:syntax=make”,但您可以对其进行改进。

      <key>fileTypes</key>
      <array>
          <string>GNUmakefile</string>
          <string>makefile</string>
          <string>Makefile</string>
          <string>OCamlMakefile</string>
          <string>make</string>
      </array>
      
      <key>firstLineMatch</key>
      <string>^#\s*-\*-Makefile-\*-|^#.*\s*vim:syntax=make</string>
      
    2. 将新Makefile.tmLanguage放在用户设置目录中:

      ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage
      
    3. 从现在开始,与第一行规则匹配的文件应打开语法高亮显示。