54

首先让我说我来自微软背景,Visual Studio 是我的生计。它有一个自动格式化任何代码语法的命令(键绑定是任意的)。相同的命令适用于 HTML、CSS、Javascript、C# 等。

我已经尝试过 ST2 的插件,到目前为止,我发现大多数插件都不能在 Windows 机器上工作,如果它们能工作,那么它就像 Javascript 一样用于非常特定的目的。

我已经尝试过(并在适当的地方打开了问题):

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

https://github.com/jdc0589/JsFormat (这个确实有效)

https://github.com/welovewordpress/SublimeHtmlTidy

是否有任何 ST2 的 Windows 用户发现任何可以格式化 CSS/HTML/Javascript 的东西,最好是一次性找到?

编辑:由于这个问题得到了很多没有活动的视图,我会说我仍在寻找一个可以在同一命令中格式化各种脚本类型的插件。

2013 年 10 月 仍然没有找到任何可以很好地涵盖 JS+CSS+HTML 的内容,但是我已经确定JsFormat是迄今为止最有效且无错误的,并且仅针对 JavaScript 的配置量最少。

4

4 回答 4

111

Sublime Text 中的一个类似选项是内置的Edit->Line->Reindent. 您可以将此代码放入Preferences -> Key Bindings User

{ "keys": ["alt+shift+f"], "command": "reindent"} 

我使用alt++因为我是 Netbeans 用户shiftf

要格式化您的代码,请按ctrl+a和“您的组合键”全选。请原谅我的英语不好。


或者,如果您不想在格式化之前全选,请在命令中添加一个参数:

{ "keys": ["alt+shift+f"], "command": "reindent", "args": {"single_line": false} }

(根据下面@Supr的评论)

于 2013-01-22T02:08:36.187 回答
13

Sublime CodeFormatter具有对 PHP、JavaScript/JSON/JSONP、HTML、CSS、Python 的格式支持。虽然我使用 CodeFormatter 的时间不长,但它的 JS、HTML 和 CSS “美化”功能给我留下了深刻的印象。我没有尝试将它与 PHP(我不进行任何 PHP 开发)或 Python(我没有经验)一起使用,但是这两种语言在.sublime-settings文件中都有很多选项。

但是请注意,这些设置并不是很容易找到。在 Windows 上,您需要转到您的%AppData%\Roaming\Sublime Text #\Packages\CodeFormatter\CodeFormatter.sublime-settings. 由于我没有 Mac,我不确定设置文件在 OS X 上的位置。

至于快捷键,我将此键绑定添加到我的“ Key Bindings - User”文件中:

{
    "keys": ["ctrl+k", "ctrl+d"],
    "command": "code_formatter"
}

我使用Ctrl+ KCtrl+D因为这是 Visual Studio 用于格式化的。当然,您可以更改它,只需记住您选择的内容可能与其他功能的键盘快捷键冲突。

更新:

似乎 Sublime Text CodeFormatter 的开发人员使访问.sublime-settings文件变得更加容易。如果您使用 Package Control 插件安装 CodeFormatter,您可以通过 访问设置并使用菜单项Preferences -> Package Settings -> CodeFormatter -> Settings - Default覆盖这些设置。Preferences -> Package Settings -> CodeFormatter -> Settings - User

于 2013-04-25T13:25:33.110 回答
9

我不能说第二或第三,但如果你先安装 Node,Sublime-HTMLPrettify 工作得很好。安装后,您必须设置自己的快捷键。我在 Windows 上注意到的一件事是,如果 %PATH% 变量已经很长,您可能需要编辑 Node 的路径(我认为 %PATH% 变量的限制是 1024,之后的任何内容都将被忽略。)

有一个 Windows 错误,但在问题中有一个修复它。您需要编辑 HTMLPrettify.py 文件 - https://github.com/victorporof/Sublime-HTMLPrettify/issues/12

于 2012-04-24T13:46:58.017 回答
0

也许这个答案不是你要找的,但它会用相同的键盘快捷键格式化任何语言。解决方案是特定语言的键盘快捷键

对于您要格式化的每种语言,您必须找到并下载一个插件,例如 html 格式化程序和 C# 格式化程序。然后将每个插件的命令映射到相同的键,但上下文不同(参见链接)。

问候

于 2017-08-01T18:44:53.757 回答