【问题标题】:Is there a tool for formatting javascript that doesn't suck?有没有一种工具可以用来格式化 javascript 不烂?
【发布时间】:2011-04-10 04:08:39
【问题描述】:

我正在寻找一种工具来为我格式化我的 javascript。很多时候,我希望我可以让一个工具格式化我的源代码,因为重组了一些代码,或者因为我想确保代码结构真的像我相信的那样。我的问题是我发现的所有格式化程序都会产生非常迟钝的结果。

如果我自己格式化源文件,我会这样格式化:

var structure = {
  key1: {
    subkey1: 3,
    subkey: 6,
    sublist: [
      {
         deep: "yes"
      },
      {
        deep: "yes",
        somekey: 4
      },
      5,
      10          
    ]
  },
  key2: [
    {
      key: 5,
      key2: 10
    },
    [1, 2, 3],
    [
      {
        nestedObj: "hello",
        siblingProp: 5
      },
      {}
    ]
  ]
}

我发现的任何工具都不必以完全相同的方式执行,但看看 eclipse 内置的格式化程序是做什么的:

var structure = {
    key1 : {
        subkey1 : 3,
        subkey : 6,
        sublist : [{
                    deep : "yes"
                }, {
                    deep : "yes",
                    somekey : 4
                }, 5, 10]
    },
    key2 : [{
                key : 5,
                key2 : 10
            }, [1, 2, 3], [{
                        nestedObj : "hello",
                        siblingProp : 5
                    }, {}]]
}

或者我用 Aptana 的插件(3.0 beta)得到的那个

var structure = {
    key1: {
        subkey1: 3,
        subkey: 6,
        sublist: [
        {
            deep: "yes"
        },
        {
            deep: "yes",
            somekey: 4
        },
        5,
        10
        ]
    },
    key2: [
    {
        key: 5,
        key2: 10
    },
    [1, 2, 3],
    [
    {
        nestedObj: "hello",
        siblingProp: 5
    },
    {}
    ]
    ]
}

它们在可视化我的数据结构的结构方面提供零帮助。 有谁知道一个像样的格式化程序?请。

【问题讨论】:

  • 我应该补充一点,我对仅适用于 Windows 的工具不感兴趣。我主要在 os x 和 ubuntu 上工作,而且只有在我真正需要的时候才在 windows 上工作。

标签: javascript code-formatting


【解决方案1】:

WebStorm / PHPStorm / Intellij IDEA

刚刚快速检查了我的 PHPStorm:我从“Eclipse”示例中粘贴了您的代码,运行代码 -> 重新格式化代码,它给了我代码,就像您手动执行一样(唯一的区别是它用空格包裹冒号)

【讨论】:

  • 看起来不错。最大的缺点是 webstorm 大约 60 欧元,而且它在插入换行符时相当害羞,这留下了很多手动工作来帮助它修复 eclipse 对我的代码所做的事情。
  • 如果没有人想出几乎一样好的和免费的东西,我会接受这个作为答案。谢谢!
【解决方案2】:

我认为 JS Beautifier 启用了“在自己的线上大括号”至少接近。

【讨论】:

  • 这主要是工具如何处理我无法克服的数组。
猜你喜欢
  • 1970-01-01
  • 2023-03-18
  • 2017-08-31
  • 1970-01-01
  • 1970-01-01
  • 2022-06-30
  • 2018-04-13
  • 1970-01-01
  • 2018-11-17
相关资源
最近更新 更多