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.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 控制台是否有错误,以防由于某种原因删除失败)。
您还可以 select Preferences > Browse Packages
从菜单中打开 Sublime 存储所有解压包的位置。 PHP-Twig
不应解压安装,因此如果您看到同名文件夹,请将其删除或将其移出该文件夹,这样 Sublime 就看不到它了。
从 Packages
文件夹,在文件层次结构中向上一级,然后进入 Installed packages
文件夹;这是作为 sublime-package
文件安装的用户包(大多数包属于此类)的存储位置,并验证没有 PHP-Twig.sublime-package
文件。如上所述,如果您看到该名称的文件,请将其从该文件夹中移开,这样 Sublime 就看不到它,看看是否有帮助。
唯一能想到的显而易见的事情就是某处的 tmPreferences
文件。这种东西最有可能的位置是 Packages
文件夹中的一个文件夹(我们在上面检查的第一个文件夹)。
当我安装 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.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 控制台是否有错误,以防由于某种原因删除失败)。
您还可以 select Preferences > Browse Packages
从菜单中打开 Sublime 存储所有解压包的位置。 PHP-Twig
不应解压安装,因此如果您看到同名文件夹,请将其删除或将其移出该文件夹,这样 Sublime 就看不到它了。
从 Packages
文件夹,在文件层次结构中向上一级,然后进入 Installed packages
文件夹;这是作为 sublime-package
文件安装的用户包(大多数包属于此类)的存储位置,并验证没有 PHP-Twig.sublime-package
文件。如上所述,如果您看到该名称的文件,请将其从该文件夹中移开,这样 Sublime 就看不到它,看看是否有帮助。
唯一能想到的显而易见的事情就是某处的 tmPreferences
文件。这种东西最有可能的位置是 Packages
文件夹中的一个文件夹(我们在上面检查的第一个文件夹)。