崇高文字2:javascript的自动修复缩进?


72

这是我的一些示例代码,目前设置为每次仅缩进4个空格。有没有一种方法可以突出显示一个JavaScript块,然后按一个按钮或菜单选项对其进行格式化,就像这样:

之前:

app.get('/csvtest', function (req, res) {
  MyModel.find(function (err, mymodel) {
    if (!err) {
      var csv = [];
      _.each(mymodel, function(obj) {
       csv.push(obj['mymodel']);
      });
      res.send(csv.join());
    } else {
      console.log(err);
    }
  });
});

后:

app.get('/csvtest', function (req, res) {
    MyModel.find(function (err, mymodel) {
        if (!err) {
            var csv = [];
            _.each(mymodel, function(obj) {
                csv.push(obj['mymodel']);
            });
            res.send(csv.join());
        } else {
            console.log(err);
        }
    });
});

Answers:


147

是用于此的工具。在崇高论坛上找到它。

  • 安装程序包控件
  • 运行软件包控制:从命令选项板安装软件包。类型Ctrl+ Shift+ P(Windows)或Command+ Shift+ P,打开命令调色板
  • 搜索jsFormat并按Enter
  • Ctrl+ Alt+f格式化

这链接到GitHub页面。你如何使用它?
CodyBugstein 2014年

1
@Imray我在回答中添加了更多细节。希望您能解决这个问题
罗伯特·卡尔

8
要将其添加https://github.com/jdc0589/JsFormat
Sublime中

5
我必须键入“格式”才能获得“格式Javascript”选项。可以帮助别人谁也无法得到这些答案,工作逐字
方圆

2
不错的提示,但有一些缺少的步骤:重新启动Sublime,在Mac中按需要(Ctrl + Alt + F)快捷方式从选板运行“格式:Javascript”命令。
gerrytan '18


35

您可以选择所有代码ctrl+ A),然后使用应用程序内功能Reindent(编辑->行-> Reindent)。它将通过查看Sublime的标签/意图设置来格式化代码。

或者:如果您想要关于如何格式化代码以添加到Sublime Text的默认选项卡/缩进设置中的更多自定义设置,则可以对Sublime Text 2使用JsFormat格式化插件。

https://github.com/jdc0589/JsFormat

有关如何将JsFormat安装到Sublime IDE的更多信息: 您可以使用Package Control(首选项-> Package Control)轻松地安装JsFormat,打开Package Control,然后键入install,然后按Enter。然后输入“ js format”并点击enter,完成。(包控制器将在Sublime的左下方栏中显示安装状态以及成功和错误)

设置快捷方式:将以下行添加到您的键绑定中(“首选项”->“键绑定用户”)

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

我正在使用ctrl+ alt+ 2,您可以根据需要更改此快捷键。

我的意见: JsFormat是一个不错的选择,绝对值得尝试!


1
非常感谢-您的第一个答案确实很简单而且很有帮助!不知道有一个选择:)
Mohit Singh

7

如果您特别希望从2到4个空格,请单击右下角的选项卡菜单。单击“将缩进转换为制表符”,将宽度更改为4,然后“将缩进转换为空格”。


2

通常,最快的方法是使用正则表达式:

  • CTRL+H
  • 启用左下角的正则表达式按钮(或按ALT+ R
  • 输入^(\s+)查找什么
  • 输入\1\1替换为
  • 点击Replace All右边

这将使前缀空格的数量增加一倍(将2个空格增加到4个)。然后可以将替换窗口保持打开状态,以轻松地将其应用于多个文件。


1

Sublime Text 2似乎已经具有您想要的功能(也许他们是在最近添加的)。

无论您是要更改空格数还是要将空格转换为制表符,都可以使用以下路径:“视图”>“缩进”

在该下拉菜单中,您可以选择“将缩进转换为制表符”,“将缩进转换为空格”,或选择“制表符宽度(1-8)”应为多少个空格。

希望这可以帮助!


这不能回答OP提出的问题。他希望块的内部比块的声明缩进更多。
wpercy

@wilbur是正确的。OP一直在寻找某种格式化程序热键扩展。
James Rutledge

0

安装使用jsFormat PackageControl从选择jsFormat安装包菜单。

然后执行以下操作以自动设置代码格式:

Ctrl+ Alt+F

查看jsLint关于格式设置的建议也很有帮助。您可以安装jsLint软件包并通过启用格式选项进行验证。

Ctrl + L

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.