我有一些格式很差的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是赢家。有很多很棒的功能,没什么可抱怨的。

其他回答

对我来说,HTML Prettify的解决方案极其简单。我打开了HTML美化页面。

需要Sublime包管理器 遵循此处安装包管理器的说明 输入CMD+SHIFT+P打开菜单 类型修饰 选择菜单中的HTML美化选项

繁荣。完成了。看起来不错

你不需要任何插件来做这件事。 只需选择所有的行(CTRL+A),然后从菜单中选择编辑→行→再缩进。 如果你保存的文件扩展名包含HTML,如. HTML或.php,这将有效。

如果你经常这样做,你可能会发现这个键映射很有用:

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

如果您的文件没有保存(例如,您只是将一个片段粘贴到一个新窗口),您可以手动设置缩进语言,在选择重缩进选项之前,通过选择菜单视图→语法→所选语言。

我使用整齐一起自定义构建系统来美化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中。

有一个很好的开源CodeFormatter插件,它(通过重印)可以美化脏代码,即使它们都是在一行中。

HTML-CSS-JS美化-手下来最好的。

安装包控制 ⌘+ left shift + p(或ctrl + alt + left shift + p) -> Package Control:安装包 进入HTML-CSS-JS Prettify 安装节点 重新启动Sublime文本

享受。