我有一些格式很差的HTML代码,我想重新格式化。有没有一个命令,将自动重新格式化HTML代码在Sublime Text 2,使它看起来更好,更容易阅读?


当前回答

只是一个一般的建议。我所做的自动整理我的HTML,是安装包HTML_Tidy,然后添加以下键绑定到默认设置(我使用):

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

每次输入都会运行HTML Tidy。这可能有缺点,我自己对Sublime很陌生,但它似乎做了我想要的:)

其他回答

我使用整齐一起自定义构建系统来美化HTML。

我有HTMLTidy。在我的Packages/User/目录下sublime-build:

{
  "cmd": ["tidy", "-config", "$packages/User/tidy_config.cfg", "$file"]
}

与tidy_config.cfg文件在同一目录下:

indent: auto
tab-size: 4
show-warnings: no
write-back: yes
quiet: yes
indent-cdata: yes
tidy-mark: no
wrap: 0

选择build system并按CTRL+B或CMD+B重新格式化文件内容。一个小问题是ST2不会自动重新加载文件,因此要查看结果,您必须切换到其他文件并返回(或切换到其他应用程序并返回)。

在Mac上,我使用macports来安装tidy,在Windows上,你必须自己下载它,并在构建系统中指定工作目录,tidy所在的位置:

"working_dir": "c:\\HTMLTidy\\"

或将其添加到PATH中。

我还没有权限发表评论,所以这只是关于@peter上述回答的补充信息。

我发现HTML没有按照预期对齐,如果IE的条件注释在标题中不是完全内联的,例如冲到左边:

<!--[if lt IE 7]>
<p class='chromeframe'>Your browser is <em>unsupported</em>. <a href="http://browsehappy.com/">Upgrade to a different browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to experience this site.</p>
<![endif]-->
<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]--> 

有一个插件叫做SublimeHtmlTidy,它工作得很好

https://github.com/welovewordpress/SublimeHtmlTidy

我推荐这个插件:HTML/CSS/JS美化,它真的很有用。

安装完成后,只需选择代码并按CTRL+SHIFT+H。

完成了!

我觉得这就是你想要的

https://github.com/victorporof/Sublime-HTMLPrettify