双文件类型扩展:正确的 Sublime Text 3 中的语法突出显示

Double Filetype Extension: Correct Syntax Highlighting in Sublime Text 3

我正在处理一些 .scss.liquid 文件,它们总是以 HTML Liquid 打开,无论我设置了多少次语法。

更新:

我试过 打开所有当前扩展名为 选项,但不幸的是,这会影响 .js.liquid.html.liquid 还有。

我找到了解决这个问题的相对简单的方法。

  1. 安装ApplySyntax
  2. ApplySyntax.sublime-settings -- User 中创建以下规则:

    "syntaxes": [
        {
            "syntax": "SCSS",
            "extensions": ["scss.liquid"]
        },
        {
            "syntax": "JavaScript/JavaScript",
            "extensions": ["js.liquid"]
        },
    ]
    

更新:我现在看到不需要额外的包了。请查看已接受的答案和我的视频(在评论中)以获取有关如何使其工作的提示。

Sublime Text 允许您在 per-language 基础上应用设置(实际上,根据语法)。可用设置之一允许您将文件扩展名映射到给定语法。

假设您正在使用名为 SCSS 的语法,在您的用户设置中创建一个 SCSS 设置文件:/path/to/packages/User/SCSS.sublime-settings,然后添加文件扩展名设置:

{
    "extensions":
    [
        "scss.liquid"
    ]
}

如您所见,它是一个 json 文件,而 extensions 是一个列表,因此您可以根据需要添加任意多个文件扩展名。不要添加前导点。

关于文件名的注意事项

设置文件的文件名必须匹配实际的语法名称,包括大小写。在这种情况下,它必须是 SCSS.sublime-settings。其他示例包括:

NAnt Build File.sublime-settings
Ruby on Rails.sublime-settings
Rd (R Documentation).sublime-settings
Java Server Page (JSP).sublime-settings