我在Sublime Text 3上编写HTML代码时遇到了一个问题。我只想设置HTML的自动缩进格式。例如,当我在代码下编写p标签时,缩进就像那样。
<p>
Hello world!
</p>
但我想写代码而不是上面的代码。
<p>
Hello world!
</p>
不仅p标签也是ul,ol等等。
如何在Sublime Text 3上设置HTML的自动缩进格式?
答案 0 :(得分:66)
一种选择是输入[command] + [shift] + [p](或等效的),然后输入'indentation'。最重要的结果应该是'Indendtation:Reindent Lines'。按[enter]键将格式化文档。
另一个选择是安装Emmet插件(http://emmet.io/),它不仅可以提供更好的格式化,还可以提供无数其他令人难以置信的功能。要获得使用Submime Text 3和Emmet插件的输出,只需要以下内容:
p [tab][enter] Hello world!
当您键入p [tab]时,Emmet会将其展开为:
<p></p>
按[enter]然后进一步将其展开为:
<p>
</p>
光标缩进并在标签之间的行上。 这意味着键入文本会导致:
<p>
Hello, world!
</p>
答案 1 :(得分:64)
要使用键绑定在Sublime文本3上自动缩进,请尝试转到
偏好设置&gt;密钥绑定 - 用户
在方括号
之间添加此代码UpdatePanel.DataBind();
UpdatePanel.Update();
将 shift + alt + f 设置为整页自动缩进。
来源here
注意:如果这不能正常工作,那么您应该将缩进转换为制表符。您的代码中的注释也会将代码推送到错误的缩进级别,并且可能必须手动移动。
答案 2 :(得分:6)
这也让我烦恼,因为这是Sublime Text 2中的一个标准功能,但不知何故,自动缩进在Sublime Text 3中不再适用于HTML文件。
我的解决方案是从Sublime Text 2(在%AppData%/ Roaming / Sublime Text 2 / Packages / HTML下找到)找到Miscellaneous.tmPreferences文件,并将这些设置复制到ST3的同一文件中。
现在,ST3的包处理变得更加困难,但幸运的是,您只需将文件添加到%AppData%/ Roaming / Sublime Text 3 / Packages文件夹中,它们就会覆盖安装目录中的默认设置。只需将此文件另存为“%AppData%/ Roaming / Sublime Text 3 / Packages / HTML / Miscellaneous.tmPreferences”,自动缩进就像在ST2中一样。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Miscellaneous</string>
<key>scope</key>
<string>text.html</string>
<key>settings</key>
<dict>
<key>decreaseIndentPattern</key>
<string>(?x)
^\s*
(</(?!html)
[A-Za-z0-9]+\b[^>]*>
|-->
|<\?(php)?\s+(else(if)?|end(if|for(each)?|while))
|\}
)</string>
<key>batchDecreaseIndentPattern</key>
<string>(?x)
^\s*
(</(?!html)
[A-Za-z0-9]+\b[^>]*>
|-->
|<\?(php)?\s+(else(if)?|end(if|for(each)?|while))
|\}
)</string>
<key>increaseIndentPattern</key>
<string>(?x)
^\s*
<(?!\?|area|base|br|col|frame|hr|html|img|input|link|meta|param|[^>]*/>)
([A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!.*</\1>)
|<!--(?!.*-->)
|<\?php.+?\b(if|else(?:if)?|for(?:each)?|while)\b.*:(?!.*end\1)
|\{[^}"']*$
</string>
<key>batchIncreaseIndentPattern</key>
<string>(?x)
^\s*
<(?!\?|area|base|br|col|frame|hr|html|img|input|link|meta|param|[^>]*/>)
([A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!.*</\1>)
|<!--(?!.*-->)
|<\?php.+?\b(if|else(?:if)?|for(?:each)?|while)\b.*:(?!.*end\1)
|\{[^}"']*$
</string>
<key>bracketIndentNextLinePattern</key>
<string><!DOCTYPE(?!.*>)</string>
</dict>
</dict>
</plist>
答案 3 :(得分:6)
这是对上述答案的改编,但应该更完整。
要明确的是,当在Sublime Text中打开HTML文件时,这是重新引入以前的自动缩进功能。因此,当您完成标记时,它会自动缩进下一个元素。
Windows用户
转到 def destroy
@search.destroy
respond_to do |format|
format.html { redirect_to searches_url, notice: 'Search was successfully destroyed.' }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_search
@search = Search.find(params[:id])
end
解压缩C:\Program Files\Sublime Text 3\Packages
,就像它是目录的zip文件一样。
打开HTML.sublime-package
并将此内容复制到文件
Miscellaneous.tmPreferences
然后将文件重新压缩为<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>name</key>
<string>Miscellaneous</string>
<key>scope</key>
<string>text.html</string>
<key>settings</key>
<dict>
<key>decreaseIndentPattern</key>
<string>(?x)
^\s*
(</(?!html)
[A-Za-z0-9]+\b[^>]*>
|-->
|<\?(php)?\s+(else(if)?|end(if|for(each)?|while))
|\}
)</string>
<key>batchDecreaseIndentPattern</key>
<string>(?x)
^\s*
(</(?!html)
[A-Za-z0-9]+\b[^>]*>
|-->
|<\?(php)?\s+(else(if)?|end(if|for(each)?|while))
|\}
)</string>
<key>increaseIndentPattern</key>
<string>(?x)
^\s*
<(?!\?|area|base|br|col|frame|hr|html|img|input|link|meta|param|[^>]*/>)
([A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!.*</\1>)
|<!--(?!.*-->)
|<\?php.+?\b(if|else(?:if)?|for(?:each)?|while)\b.*:(?!.*end\1)
|\{[^}"']*$
</string>
<key>batchIncreaseIndentPattern</key>
<string>(?x)
^\s*
<(?!\?|area|base|br|col|frame|hr|html|img|input|link|meta|param|[^>]*/>)
([A-Za-z0-9]+)(?=\s|>)\b[^>]*>(?!.*</\1>)
|<!--(?!.*-->)
|<\?php.+?\b(if|else(?:if)?|for(?:each)?|while)\b.*:(?!.*end\1)
|\{[^}"']*$
</string>
<key>bracketIndentNextLinePattern</key>
<string><!DOCTYPE(?!.*>)</string>
</dict>
</dict>
</plist>
,并将现有的HTML.sublime-package
替换为您刚创建的文件。
关闭并打开Sublime Text 3,你就完成了!