Sublime Text 2 Code Formatting

首先让我说,我来自微软的背景,Visual Studio是我的面包和黄油。 它有一个命令(keybind是任意的),自动格式化任何代码语法。 相同的命令在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,最好是一枪?

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

十月2013还没有发现任何涵盖JS + CSS + HTML的东西,但是我已经决定了JsFormat作为迄今为止最有效的和无缺陷的,只有最less量的configuration的JavaScript。

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

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

Sublime Text中的类似选项是内置的Edit->Line->Reindent 。 你可以把这个代码放在Preferences -> Key Bindings User

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

我使用alt + shift + f,因为我是Netbeans用户。

要格式化您的代码,请通过按Ctrl + a和“您的组合键”select全部。 对不起,我英文不好。


或者,如果您不希望在格式化之前select全部,请将命令添加到命令中:

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

(根据下面的@Supr的评论)

Sublime CodeFormatter格式支持PHP,JavaScript / JSON / JSONP,HTML,CSS,Python。 尽pipe我没有使用CodeFormatter很长时间,但我对JS,HTML和CSS“美化”function留下了深刻的印象。 我没有尝试过使用PHP(我没有做任何PHP开发)或者Python(我没有经验),但是这两种语言在.sublime-settings文件中都有很多选项。

但是请注意,这些设置不是很容易find。 在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用于格式化的。 当然,您可以改变它,只要记住您select的内容可能与某些其他function的键盘快捷键相冲突。

更新:

看起来好像Sublime Text CodeFormatter的开发者已经使访问.sublime-settings文件变得更容易了。 如果您使用Package Control插件安装CodeFormatter,则可以通过Preferences -> Package Settings -> CodeFormatter -> Settings - Default来访问设置,并使用Preferences -> Package Settings -> CodeFormatter -> Settings - User菜单覆盖这些设置项目。

由于我经常在几种不同的语言之间切换,所以我发现最简单的方法是使用Sublime和支持代码格式的另一个编辑器/ IDE。 我保持工作空间在每一个打开,并重新格式化编辑器的格式。 没有一个Sublime的插件真正解决了所有我使用的语言 – ruby​​,C ++,html,verilog,vhdl等

也许这个答案不是你正在寻找的东西,但它会阻碍任何具有相同键盘快捷键的语言。 解决scheme是特定于语言的键盘快捷键 。

对于每一种你想格式化的语言,你都必须find并下载一个插件,例如一个html格式器和一个C#格式器。 然后,将每个插件的命令映射到相同的密钥,但具有不同的上下文(请参阅链接)。

电贺