我正在尝试在Sublime Text 3中使用
HTML中的自动缩进功能.我在html中有一些块注释并选择了Edit> Line> Reindent工作直到它命中块注释.
尝试在这里重新举例:
- <html>
- <head>
- <title>Testing Indent</title>
- </head>
- <body>
- <table>
- <tr>
- <td>
- Cell 1
- </td>
- </tr>
- <tr>
- Cell 2
- <!--Block Comment Here
- And a Little More Here
- -->
- </tr>
- </table>
- </body>
- </html>
结果是这样的:
- <html>
- <head>
- <title>Testing Indent</title>
- </head>
- <body>
- <table>
- <tr>
- <td>
- Cell 1
- </td>
- </tr>
- <tr>
- <td>
- Cell 2
- <!--Block Comment Here
- And a Little More Here
- -->
- </td>
- </tr>
- </table>
- </body>
- </html>
有什么想法吗?
解决方法
我在这里记录了这个问题:
https://github.com/SublimeTextIssues/Core/issues/1271
出现此行为的原因是因为默认情况下,Sublime Text设置为保留注释的缩进.要禁用此功能:
>如果尚未安装,请安装Package Control
>安装PackageResourceViewer(如果尚未安装):
>打开命令调色板
>选择包控制:安装包
>选择PackageResourceViewer
>打开命令调色板
>输入PRV:O
>选择PackageResourceViewer:打开资源
>选择默认
>选择缩进规则 – Comments.tmPreferences
>更改< true />在< key> preserveIndent< / key>下到< false />
>保存文件
Reindentation现在可以正常使用评论.
我还建议编辑HTML缩进规则以忽略注释,以便它不会根据注释中的标记更改缩进.即不然
- <html>
- <head>
- <title>Testing Indent</title>
- </head>
- <body>
- <table>
- <tr>
- <td>
- Cell 1
- </td>
- </tr>
- <tr>
- Cell 2
- <!--
- Block Comment Here
- <td>
- And a Little More Here
- </td>
- -->
- </tr>
- </table>
- </body>
- </html>
会成为:
- <html>
- <head>
- <title>Testing Indent</title>
- </head>
- <body>
- <table>
- <tr>
- <td>
- Cell 1
- </td>
- </tr>
- <tr>
- Cell 2
- <!--
- Block Comment Here
- <td>
- And a Little More Here
- </td>
- -->
- </tr>
- </table>
- </body>
- </html>
去做这个:
>打开命令面板
>输入PRV:O
>选择PackageResourceViewer:打开资源
>选择HTML
>选择Miscellaneous.tmPreferences
>改变
- <key>scope</key>
- <string>text.html</string>
至
- <key>scope</key>
- <string>text.html - comment</string>
和
- |-->
至
- (?#|-->)
但是,当ST3的下一个版本可用时,如果它被正确修复,最好删除你的覆盖.这样,您将继续获得这些文件的更新,否则您将无法使用已保存的版本.去做这个:
>偏好 – >浏览包裹
>删除HTML文件夹
>进入默认文件夹并删除缩进规则 – Comments.tmPreferences文件
如果问题未在下一个版本中修复,则可以简单地重新创建这些更改.