看起来当我安装PHP Twig语法包时,它将默认的HTML注释输出从<!-- … -->
更改为{# … #}
所以,我删除了包,但是当我按下键盘快捷键时它仍然将注释输出为Twig。
BTW,键映射是正确的(super+alt+forward_slash
),但它返回的是Twig格式的注释而不是HTML注释。
如何返回<!-- … -->
???
答案 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.twig
,shellVariables
设置TM_COMMENT_START
和TM_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
文件。
我会执行以下检查以确定它们是否有任何效果:
打开一个HTML文件,并验证状态栏是否表明它是HTML
类型的文件,而不是HTML (Twig)
或其他类型的文件。如果是其他内容,请使用菜单中的View > Syntax > Open all with current syntax as
将其设置回HTML,看看是否能解决HTML文件的问题。
将"PHP-Twig"
添加到您偏好设置中的ignored_packages
设置,看看是否有帮助。
如果文件类型错误或将PHP-Twig
添加到被忽略的软件包列表中可以解决问题,那么仍然会安装软件包。如果你使用Package Control来安装它,请尝试再次删除它,看看是否有任何效果(如果由于某种原因删除失败,请检查Sublime控制台是否有错误。)
您还可以从菜单中选择Preferences > Browse Packages
以打开Sublime存储所有解压缩包的位置。 PHP-Twig
不应安装解压缩,因此如果您看到该名称的文件夹,请将其删除或将其移离该文件夹,以便Sublime无法看到它。
从Packages
文件夹中,在文件层次结构中上一级,然后进入Installed packages
文件夹;这是存储作为sublime-package
文件安装的用户包(大多数包属于此类别)的位置,并验证没有PHP-Twig.sublime-package
文件。如上所述,如果您看到该名称的文件,请将其从该文件夹中移开,以便Sublime无法看到它,看看是否有帮助。
没有想到的唯一明显的事情就是在某个地方散布tmPreferences
个文件。这种事情的最可能位置是Packages
文件夹中的一个文件夹(我们在上面检查过的第一个文件夹)。