2
<div>
This line needs to be indented and closing div tag should be in a new line</div>

<div>
  This result is what I want
</div>

在 Sublime Text 2 中,通过按 ctrl+shift+W 并按“enter”创建标签后,我希望结果如上所示。我必须安装插件还是我错过了什么?

4

3 回答 3

5

认为您正在尝试与此问题相同 - 按Enter 以展开 HTML 中的单行标记时自动缩进新行

下面是我的答案。


尝试在您的用户键绑定中添加以下内容。

{ "keys": ["enter"], "command": "insert_snippet", "args": {"contents": "\n\t$0\n"}, "context":
    [
        { "key": "setting.auto_indent", "operator": "equal", "operand": true },
        { "key": "selector", "operator": "equal", "operand": "meta.scope.between-tag-pair", "match_all": true },
        { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }
    ]
}
于 2013-04-02T04:59:01.113 回答
0

试试这个键绑定:

{ "keys": ["ctrl+shift+w"], "command": "reindent" , "args": {"single_line": false}}

参考:使用 Sublime Text 2 格式化 HTML 代码

于 2013-04-02T04:34:10.253 回答
0

如果您安装Tag 插件,我认为这是一个更通用的解决方案。正如Dardub 在他的回答中所说,标签插件也可以通过包控制获得。

如果您选择 Tag 插件,最简单的使用方法是突出显示要缩进的文本,然后按快捷键Ctrl+ Shift+ F

如果您坚持您的Enter工作流程,只需将此行添加到您的键绑定中:

{ "keys": ["enter"], "command": "tag_indent_document" }

要小心,因为它取代了 Enter 默认行为

避免文本突出显示需要的更保守的方法是使用更具体的绑定:

{ "keys": ["super+shift+f"], "command": "tag_indent_document" }

现在要缩进所有 HTML/XML,只需按快捷键Super++ 。ShiftF

参考:

于 2013-04-02T06:09:44.187 回答