我有一些格式很差的HTML代码,我想重新格式化。有没有一个命令,将自动重新格式化HTML代码在Sublime Text 2,使它看起来更好,更容易阅读?
当前回答
Sublime中有六种左右格式化HTML的方法。我已经测试了每个最流行的插件(详见我在博客上写的文章),但这里是一些最流行的选项的快速概述:
重新缩进命令
优点:
与Sublime一起发布,所以不需要安装插件
缺点:
不删除额外的空行 不能处理带有多个打开标记的迷你HTML 不能正确格式化<script>块
Tag
优点:
支持ST2 / ST3 删除多余的空行 没有二进制依赖关系
缺点:
PHP标记阻塞 不能正确处理<script>块
HTMLTidy
优点:
处理PHP标签 一些调整格式的设置
缺点:
需要PHP(退回到web服务) ST2只 放弃了吗?
HTMLBeautify
优点:
支持ST2 / ST3 简单且没有二进制依赖 支持OS X, Win和Linux
缺点:
内联注释有点令人窒息 是否扩展最小化/压缩代码
HTML-CSS-JS美化
优点:
支持ST2 / ST3 处理HTML, CSS, JS 与Sublime的菜单有很好的集成 高度可定制的 项目的设置 保存格式选项
缺点:
需要node . js 对于嵌入式PHP来说不是很好
哪个是最好的?
在我看来,HTML-CSS-JS Prettify是赢家。有很多很棒的功能,没什么可抱怨的。
其他回答
我还没有权限发表评论,所以这只是关于@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]-->
只是一个一般的建议。我所做的自动整理我的HTML,是安装包HTML_Tidy,然后添加以下键绑定到默认设置(我使用):
{ "keys": ["enter"], "command": "html_tidy" },
每次输入都会运行HTML Tidy。这可能有缺点,我自己对Sublime很陌生,但它似乎做了我想要的:)
Sublime中有六种左右格式化HTML的方法。我已经测试了每个最流行的插件(详见我在博客上写的文章),但这里是一些最流行的选项的快速概述:
重新缩进命令
优点:
与Sublime一起发布,所以不需要安装插件
缺点:
不删除额外的空行 不能处理带有多个打开标记的迷你HTML 不能正确格式化<script>块
Tag
优点:
支持ST2 / ST3 删除多余的空行 没有二进制依赖关系
缺点:
PHP标记阻塞 不能正确处理<script>块
HTMLTidy
优点:
处理PHP标签 一些调整格式的设置
缺点:
需要PHP(退回到web服务) ST2只 放弃了吗?
HTMLBeautify
优点:
支持ST2 / ST3 简单且没有二进制依赖 支持OS X, Win和Linux
缺点:
内联注释有点令人窒息 是否扩展最小化/压缩代码
HTML-CSS-JS美化
优点:
支持ST2 / ST3 处理HTML, CSS, JS 与Sublime的菜单有很好的集成 高度可定制的 项目的设置 保存格式选项
缺点:
需要node . js 对于嵌入式PHP来说不是很好
哪个是最好的?
在我看来,HTML-CSS-JS Prettify是赢家。有很多很棒的功能,没什么可抱怨的。
有一个很好的开源CodeFormatter插件,它(通过重印)可以美化脏代码,即使它们都是在一行中。
我使用整齐一起自定义构建系统来美化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中。
推荐文章
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 下一个元素的CSS选择器语法是什么?
- 我如何用CSS跨浏览器绘制垂直文本?
- 如何获得box-shadow在左侧和右侧
- 相对定位一个元素,而不占用文档流中的空间
- JavaScript错误(Uncaught SyntaxError:意外的输入结束)
- 如何在jQuery检索复选框值
- 禁用身体滚动
- 如何在删除前显示确认消息?
- 在一个CSS宽度的小数点后的位置是尊重?
- 如何在SSH上使用Sublime
- 我怎么能选择一个特定的类的最后一个元素,而不是父里面的最后一个孩子?
- 反应:为什么当道具改变时子组件不更新
- 我怎么能检查html元素,从DOM消失失去焦点?
- 在Atom编辑器中是否有格式化HTML的命令?