关于sublimetext2:如何使用Sublime Text 2重新格式化HTML代码?

How do I reformat HTML code using Sublime Text 2?

我有一些格式不好的HTML代码要重新格式化。是否有一个命令可以自动重新格式化升华文本2中的HTML代码,使其看起来更好,更易于阅读?


你不需要任何插件来完成这个任务。只需选择所有行(CTRL A),然后从菜单中选择编辑→行→Reindent。如果您的文件以包含HTML(如.html.php的扩展名)的方式保存,则此功能将起作用。

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

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

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


有六种左右的方法可以很好地格式化HTML。我已经测试了每个最受欢迎的插件(请参阅我在博客上写的文章了解完整的详细信息),但下面是一些最受欢迎的选项的快速概述:

REINDENT命令

赞成的意见:

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

欺骗:

  • 不删除多余的空行
  • 无法处理具有多个打开标记的小型HTML行
  • 没有正确格式化

标签

赞成的意见:

  • 支持ST2/ST3
  • 删除多余的空行
  • 无二进制依赖项

欺骗:

  • PHP标签上的扼流圈
  • 没有正确处理

HTMLTIDY

赞成的意见:

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

欺骗:

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

HTML美化

赞成的意见:

  • 支持ST2/ST3
  • 简单且无二进制依赖项
  • 支持OS X、Win和Linux

欺骗:

  • 用内联注释阻塞一点
  • 是否展开最小化/压缩代码

HTML-CSS-JS美化

赞成的意见:

  • 支持ST2/ST3
  • 处理HTML、CSS、JS
  • 与Sublime的菜单完美结合
  • 高度可定制
  • 按项目设置
  • 保存时格式化选项

欺骗:

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

哪一个最好?

html-css-js prettify是我书中的赢家。很多很棒的功能,没什么好抱怨的。


我唯一能找到的包裹是标签。

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

安装程序包控制之后。转到package control(首选项->package control),然后键入install,点击enter。然后键入tag并点击enter

安装标签后,突出显示文本并按快捷方式ctrl+alt+f


我推荐这个插件:html/css/js prettify,它真的很管用。

安装完成后,只需选择代码并按ctrl+shift+h

完成!


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

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

每次输入时都会运行HTML整洁。这可能有缺点,我是一个全新的自我升华者,但它似乎在做我想做的事情:)


尽管这个问题是针对HTML的,但我还想提供一些关于如何自动格式化JavaScript代码以实现卓越文本2的信息;

您可以选择所有代码(ctrl+a),并使用应用内功能reindent(Edit->Line->Reindent,或者如果您想对如何将代码格式化为升华文本的默认选项卡/缩进设置进行更多的自定义设置,也可以使用jsformat格式化插件来格式化Sublime Text 2。NGS。

https://github.com/jdc0589/jsform

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

在密钥绑定中添加以下行(Preferences->Key Bindings User)

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

我使用的是ctrl+alt+2,您可以随意更改这个快捷键。到目前为止,JsFormat是一个很好的插件,值得一试!

希望这能帮助别人。


有一个名为sublimehtmlidy的插件工作得很好

https://github.com/welovewordpress/sublimehtml网址


对我来说,HTML Prettify解决方案非常简单。我去了HTML美化页面。

  • 需要Sublime Package Manager
  • 按照此处安装包管理器的说明操作
  • 键入cmd+shift+p显示菜单
  • prettify
  • 在菜单中选择HTML Prettify选项
  • 繁荣。完成。看起来很棒


    干脆去

    编辑->标记->自动设置文档标记格式


    我创建了一个名为htmlbeautify的包,它可以很好地重新格式化HTML。我基于1997年发现的一个Perl脚本——我更新了它,使之与所有新的尖牙的现代标签一起工作。:)

    看看,告诉我你的想法!

    https://github.com/rareyman/htmlbeautify网站


    有一个很好的开源代码格式化程序插件,它(连同证明)可以美化脏代码,即使所有的代码都在一行中。


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

    我发现,如果标题中的IE条件注释没有完全对齐(例如,左对齐),则HTML没有按预期对齐:

    1
    2
    3
    4
    5
    6
    7
    8
    <!--[if lt IE 7]>
    <p class='chromeframe'>Your browser is unsupported. Upgrade to a different browser or install Google Chrome Frame 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">
    <![endif]-->

    我想这就是你要找的:

    https://github.com/victorborof/sublime-htmlprettify


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

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

    请参阅此处的详细信息。


    我正在使用Tidy和定制构建系统来美化HTML。

    我的包/用户/目录中有htmltidy.sublime-build:

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

    在同一目录中整理config.cfg文件:

    1
    2
    3
    4
    5
    6
    7
    8
    indent: auto
    tab-size: 4
    show-warnings: no
    write-back: yes
    quiet: yes
    indent-cdata: yes
    tidy-mark: no
    wrap: 0

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

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

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

    或者添加到路径中。