我在组合html和jsp标签时遇到了缩进问题。
重现的步骤:
<ul> <c:if test="${a > 0}"> <li>a</li> </c:if> </ul>
<ul> <c:if test="${a > 0}"> <li>a</li> </c:if> </ul>
在Windows 7 x64下测试运行Build 3047。
任何线索?
答案 0 :(得分:1)
对于ST2:
打开html包并编辑Packages/HTML/Miscellaneous.tmPreferences
文件。
将文本替换为下面的文本。以下正则表达式接受<c:if>
格式的基本jsp标记&amp; JSP评论。这不会格式化scriplets。
<?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]+(:[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]+(:[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>
重新启动Sublime文字