Sublime Text默认HTML评论

时间:2018-06-13 20:13:41

标签: twig comments sublimetext3 keyboard-shortcuts

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

所以,我删除了包,但是当我按下键盘快捷键时它仍然将注释输出为Twig。

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

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

1 个答案:

答案 0 :(得分:0)

似乎对安装包装或拆卸包装有点隐蔽,因此需要进行一些调查才能解决问题。

对于后台,用于注释(单行或块)的字符或字符的设置信息由tmPreferences类型的文件提供(不是tmLanguage,如在{您在问题的评论中链接到的教程)。

文件的名称及其包含的包无关紧要(除非他们控制文件的加载顺序),只包含所述文件的内容。

您安装的软件包(PHP-Twig)包含文件Preferences/Comments.tmPreferences,用于设置要在twig文件中使用的注释。如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分别为{##}。有了这个,每当光标位置的scopetext.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设置,看看是否有帮助。

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

    您还可以从菜单中选择Preferences > Browse Packages以打开Sublime存储所有解压缩包的位置。 PHP-Twig不应安装解压缩,因此如果您看到该名称的文件夹,请将其删除或将其移离该文件夹,以便Sublime无法看到它。

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

    没有想到的唯一明显的事情就是在某个地方散布tmPreferences个文件。这种事情的最可能位置是Packages文件夹中的一个文件夹(我们在上面检查过的第一个文件夹)。