如何使用Sublime Text 2重新格式化超文本标记语言代码?

我有一些格式很差的超文本标记语言代码,我想重新格式化。是否有一个命令可以自动重新格式化Sublime Text 2中的超文本标记语言代码,以便它看起来更好,更容易阅读?

1092586 次浏览

我唯一能找到的包是Tag

您可以使用包控件安装它。https://sublime.wbond.net

安装包控制后。转到包控制(偏好->包控制),然后键入install,点击输入。然后键入tag并点击输入

安装Tag后,突出显示文本并按快捷方式Ctrl+Alt+F

我正在使用整洁和自定义构建系统来美化超文本标记语言。

我有HTMLTidy.sublime-build在我的Packages/User/目录中:

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

并在同一目录中tidy_config.cfg文件:

indent: autotab-size: 4show-warnings: nowrite-back: yesquiet: yesindent-cdata: yestidy-mark: nowrap: 0

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

在Mac上,我使用macport安装tidy,在Windows上,您必须自己下载它并在构建系统中指定工作目录,tidy位于哪里:

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

或添加到路径。

您不需要任何插件来执行此操作。只需选择所有行(CTRL+一个),然后从菜单中选择编辑→行→Reindent。如果您的文件使用包含.html.php等超文本标记语言的扩展名保存,这将起作用。

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

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

如果您的文件未保存(例如,您刚刚将片段粘贴到新窗口中),您可以在选择重新缩进选项之前通过选择菜单视图→语法→language of choice手动设置缩进语言。

有一个名为SublimeHtmlTidy的插件效果很好

https://github.com/welovewordpress/SublimeHtmlTidy

只需前往

编辑->标记->文档上的自动格式化标记

只是一个一般的提示。我所做的是自动整理我的超文本标记语言,HTML_Tidy安装软件包,然后将以下键绑定添加到默认设置(我使用):

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

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

我还没有特权发表评论,所以这只是与@peter上面的回答答案相关的附加信息。

我发现超文本标记语言没有按照预期对齐,如果标题中的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美化的包,它在重新格式化超文本标记语言方面做得很好。我基于我在1997年发现的Perl脚本-我更新了它以使用所有新的时髦的现代标签。:)

检查出来,让我知道你的想法!

https://github.com/rareyman/HTMLBeautify

虽然问题是超文本标记语言,我还想提供有关如何为Sublime Text 2自动格式化您的Javascript代码的信息;

您可以选择所有代码(CTRL+一个)并使用应用内功能,reindent(Edit->Line->Reindent),或者您可以使用JsFormat格式化插件Sublime Text 2,如果您想对如何格式化代码进行更可定制的设置,以添加Sublime Text的默认选项卡/缩进设置。

https://github.com/jdc0589/JsFormat

您可以使用包控制(Preferences->Package Control)轻松安装JsFormat打开包控制然后键入安装,命中输入。然后键入js format并点击输入,您就完成了。(包控制器将在Sublime的左下角栏显示安装成功和错误的状态)

将以下行添加到您的键绑定(Preferences->Key Bindings User

{ "keys": ["ctrl+alt+2"], "command": "js_format"}

我使用的是CTRL+ALT+2,您可以随意更改此快捷键。到目前为止,JsFormat是一个不错的插件,值得一试!

希望这将帮助某人。

在Sublime中有六种左右的方法来格式化超文本标记语言。我已经测试了每个最流行的插件(有关详细信息,请参阅我在博客上写的),但这里有一些最流行的选项的快速概述:

Reindent命令

优点:

  • 附带Sublime,因此无需插件安装

缺点:

  • 不删除多余的空行
  • 无法处理缩小的超文本标记语言,具有多个打开标记的行
  • 无法正确格式化<script>

标签

优点:

  • 支持ST2/ST3
  • 删除额外的空白行
  • 无二进制依赖

缺点:

  • PHP标签上的窒息
  • 无法正确处理<script>

HTMLTidy

优点:

  • 处理PHP标签
  • 调整格式的一些设置

缺点:

  • 需要PHP(回退到Web服务)
  • 仅ST2
  • 被遗弃?

HTML美化

优点:

  • 支持ST2/ST3
  • 简单且无binaray依赖
  • 支持OS X、Win和Linux

缺点:

  • 用内联注释有点窒息
  • 是否扩展最小化/压缩代码

超文本标记语言-CSS-JS

优点:

  • 支持ST2/ST3
  • 处理超文本标记语言,CSS,JS
  • 与Sublime菜单的完美集成
  • 高度可定制
  • 每项目设置
  • 保存选项上的格式

缺点:

  • 需要Node.js
  • 不适合嵌入式PHP

哪个最好?

超文本标记语言-CSS-JS是我的书中的赢家。很多很棒的功能,没有太多可抱怨的。

有一个很好的开源代码格式插件,它(沿着重新缩进)可以美化脏代码,即使所有代码都在单行中。

对我来说,HTML Prettify解决方案非常简单。我去了超文本标记语言

  1. 需要Sublime Package Manager
  2. 按照安装包管理器的说明这里
  3. 输入prettify
  4. 选择菜单中的HTML prettify选项

就这么定了看起来不错

您可以轻松设置快捷键F12!!!

{ "keys": ["f12"], "command": "reindent" , "args": { "single_line": false } }

细节这里

我推荐这个插件:超文本标记语言/CSS/JS,它确实有效。

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

成交!

#30340;手放下最好的。

  1. 安装包控制
  2. +左移+p(或ctrl+alt+左移+p)->包控制:安装包
  3. 输入超文本标记语言-CSS-JS
  4. 安装节点
  5. 重新启动崇高文本

好好享受。