Sublime Text 默认 HTML 评论

Sublime Text Default HTML comments

当我安装 PHP Twig 语法包时,它似乎将默认的 HTML 注释输出从 <!-- … --> 更改为 {# … #}

所以,我删除了这个包,但是当我按下键盘快捷键时它仍然输出评论作为 Twig。

顺便说一句,键映射是正确的 (super+alt+forward_slash),但它返回的是 Twig 格式的注释而不是 HTML 注释。

如何返回 <!-- … --> ???

您安装或删除该软件包似乎有些问题,因此需要进行一些调查才能解决该问题。

作为背景,用于注释(单行或块)的字符或字符的设置信息由 tmPreferences 类型的文件提供(不是错误描述的 tmLanguage在您在问题的评论中链接到的教程中)。

文件的名称和它所在的包无关紧要(除非它们控制文件加载的顺序),只有所述文件的内容。

您安装的包(PHP-Twig) includes the file Preferences/Comments.tmPreferences to set the comments to use in twig files. As seen in this commit,文件包含控制注释的信息子集:

<key>scope</key>
<string>text.html.twig</string>
<key>settings</key>
<dict>
    <key>shellVariables</key>
    <array>
        <dict>
            <key>name</key>
            <string>TM_COMMENT_START</string>
            <key>value</key>
            <string>{# </string>
        </dict>
        <dict>
            <key>name</key>
            <string>TM_COMMENT_END</string>
            <key>value</key>
            <string> #}</string>
        </dict>
    </array>
</dict>

这表示对于语法范围 text.html.twigshellVariables 设置 TM_COMMENT_STARTTM_COMMENT_STOP 分别为 {##}。有了这个,任何时候光标位置的 scope 匹配 text.html.twig 并且您触发评论命令,这些用于包装评论部分。

话虽如此,这些注释字符应该只在范围匹配 text.html.twig 时应用。常规 HTML 文件中使用的范围是 text.html.basic (假设您使用的是 Sublime 附带的 HTML 包),因此它不应该匹配并且不应该在那里使用注释.

您可以使用菜单中的 Tools > Developer > Show Scope Name... 或菜单中可见的键绑定来检查任何特定位置的范围以进行验证。

如果您看到这些注释也出现在常规 HTML 文件中,您可能有意或无意地将 Sublime 设置为对 HTML 文件使用 twig 语法,您可以通过检查状态栏的右侧,它告诉您正在使用的语法。

另一方面,当您删除包时,问题也应该自行解决,因为那样会删除提供评论设置的 tmPreferences 文件。

我将执行以下检查以查看它们是否有任何效果:

  1. 打开一个 HTML 文件并确认状态栏显示它是 HTML 类型的文件,而不是 HTML (Twig) 或其他类型的文件。如果是其他问题,请使用菜单中的 View > Syntax > Open all with current syntax as 将其设置回 HTML 并查看是否可以解决 HTML 文件的问题。

  2. "PHP-Twig" 添加到您的首选项中的 ignored_packages 设置,看看是否有帮助。

如果文件类型错误或将 PHP-Twig 添加到忽略的软件包列表中解决了问题,则仍会安装该软件包。如果您使用 Package Control 来安装它,请尝试再次删除它并查看是否有任何影响(检查 Sublime 控制台是否有错误,以防由于某种原因删除失败)。

您还可以 select Preferences > Browse Packages 从菜单中打开 Sublime 存储所有解压包的位置。 PHP-Twig 不应解压安装,因此如果您看到同名文件夹,请将其删除或将其移出该文件夹,这样 Sublime 就看不到它了。

Packages 文件夹,在文件层次结构中向上一级,然后进入 Installed packages 文件夹;这是作为 sublime-package 文件安装的用户包(大多数包属于此类)的存储位置,并验证没有 PHP-Twig.sublime-package 文件。如上所述,如果您看到该名称的文件,请将其从该文件夹中移开,这样 Sublime 就看不到它,看看是否有帮助。

唯一能想到的显而易见的事情就是某处的 tmPreferences 文件。这种东西最有可能的位置是 Packages 文件夹中的一个文件夹(我们在上面检查的第一个文件夹)。