Sublime Text 2代码格式

时间:2012-04-04 15:20:50

标签: sublimetext prettify sublimetext2

首先让我说我来自微软的背景,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的内容,最好是一次性使用吗?

编辑:由于这个问题是在没有任何活动的情况下获得了大量观点,我会说我仍在寻找可以格式化各种脚本类型的插件同样的命令。

2013年10月 仍然没有找到任何涵盖JS + CSS + HTML的东西,但是我已经确定JsFormat到目前为止最有效和无错误,只有JavaScript的配置最少。

4 个答案:

答案 0 :(得分:107)

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

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

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

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


或者,如果您不想在格式化之前选择所有内容,请改为向命令添加参数:

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

(根据以下@Supr的评论)

答案 1 :(得分: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 + K Ctrl + D ,因为这是Visual Studio用于格式化的内容。当然,您可以更改它,只需记住您选择的内容可能会与其他功能的键盘快捷键冲突。

<强>更新

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

答案 2 :(得分:8)

我不能代表第二或第三,但如果你先安装Node,Sublime-HTMLPrettify效果很好。安装后,您必须设置自己的密钥快捷方式。我在Windows上注意到的一件事,你可能需要在%PATH%变量中修改Node的路径(如果已经很长)(我认为%PATH%变量的限制为1024,之后的任何内容都会被忽略。)< / p>

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

答案 3 :(得分:0)

也许这个答案并不是你想要的,但它会使用相同的键盘快捷键来填充任何语言。 解决方案是language specific keyboard shortcuts

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

迎接