【问题标题】:Double Filetype Extension: Correct Syntax Highlighting in Sublime Text 3双文件类型扩展名:Sublime Text 3 中的正确语法突出显示
【发布时间】:2018-09-04 20:03:12
【问题描述】:

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

更新:

我尝试了 open all with current extension as 选项,但不幸的是,这也会影响 .js.liquid 和 .html.liquid 的文件。

【问题讨论】:

  • 尤其是this answer,评论指出它适用于双重扩展
  • 感谢@DarrickHerwehe,答案确实作为对该问题页面上未接受答案之一的评论而被埋没。我的建议是在这里创建一个更容易获得的答案,因为我的 Google fu 很好,而我之前没有找到。显然,在这里有一个更具体的问题和答案将对社区有益。请随时在此处提供有关双重文件类型扩展名问题的规范答案。

标签: sublimetext3 sublimetext


【解决方案1】:

Sublime Text 允许您在每种语言的基础上应用设置(实际上,每种语法)。其中一项可用设置允许您将文件扩展名映射到给定的语法。

假设您使用名为 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

【讨论】:

【解决方案2】:

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

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

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

更新:我现在看到不需要额外的包了。请参阅接受的答案和我的视频(在 cmets 中),了解如何使其工作的提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多