【问题标题】:Sublime Text 2: Auto fix indentation for javascript?Sublime Text 2:自动修复 javascript 的缩进?
【发布时间】:2012-10-03 17:38:44
【问题描述】:

这是我的一些示例代码,目前我设置为一次仅使用 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);
        }
    });
});

【问题讨论】:

    标签: javascript sublimetext2


    【解决方案1】:

    Here 是一个工具。在sublime forums 上找到它。

    • Install Package control
    • 运行包控制:从命令面板安装包。键入 Ctrl + Shift + P (Windows) 或 Command + Shift + P 打开命令面板
    • 搜索jsFormat并回车
    • Ctrl + Alt + f 格式化

    【讨论】:

    • 这链接到 GitHub 页面。你是怎么用的?
    • @Imray 我在回答中添加了更多细节。希望你已经解决了这个问题
    • 要将https://github.com/jdc0589/JsFormat 添加为 sublime 中的 Package Control 存储库,请转到 Preferences->Package Control->"Package Control: add Repository" 和 "Package Control: Install Package"
    • 我必须输入“Format”才能获得“Format Javascript”选项。可能会帮助无法获得这些答案的其他人逐字逐句地工作
    • 不错的提示,但缺少一些步骤:重新启动 sublime,在需要时从面板运行“格式:Javascript”命令(Ctrl + Alt + F)在 mac 中的快捷方式。
    【解决方案2】:

    你可以试试JsFormatctrl+alt+f 格式化所选文本。

    【讨论】:

      【解决方案3】:

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

      或者:如果您希望在 Sublime Text 的默认制表符/缩进设置之外对如何格式化您的代码进行更多自定义设置,您可以使用 Sublime Text 2 的 JsFormat 格式化插件.

      https://github.com/jdc0589/JsFormat

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

      设置快捷方式:将以下行添加到您的键绑定(Preferences -> Key Bindings User)

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

      我用的是ctrl+alt+2,你可以随意改变这个快捷键。

      我的看法: JsFormat 不错,绝对值得一试!

      【讨论】:

      • 非常感谢 - 您的第一个答案真的很简单而且很有帮助!不知道有这样的选择:)
      • 感谢您的第一个答案,它可以帮助没有互联网连接的人。
      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        一般来说,最快的方法是使用正则表达式:

        • CTRL+H
        • 启用左下角的正则表达式按钮(或按ALT+R
        • 查找内容中输入^(\s+)
        • 替换为中输入\1\1
        • 点击右侧的全部替换

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

        【讨论】:

          【解决方案6】:

          看起来 Sublime Text 2 已经有了你想要的东西(也许他们最近添加了这个功能)。

          无论您是想要更改 Spaces 的数量还是想要将 Spaces 转换为 Tabs,都可以使用以下路径:View > Indentation

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

          希望这会有所帮助!

          【讨论】:

          • 这没有回答 OP 提出的问题。他希望块的内部比块声明更缩进。
          • @wilbur 是对的。 OP 正在寻找某种格式化程序热键扩展。
          【解决方案7】:

          Install Package菜单中选择jsFormat,使用PackageControl安装jsFormat。

          然后执行此操作以自动格式化您的代码:

          Ctrl + Alt + F

          查看 jsLint 格式建议也很有帮助。 您可以安装 jsLint 包并在启用格式选项的情况下进行验证。

          Ctrl + L

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-12-01
            • 2013-03-23
            • 2015-09-23
            • 2012-08-07
            • 2012-03-18
            • 2016-02-20
            • 2012-03-07
            相关资源
            最近更新 更多