【问题标题】:Sublime JSFormat: configure to not auto-format JSONSublime JSFormat:配置为不自动格式化 JSON
【发布时间】:2013-10-05 16:47:03
【问题描述】:

我一直在网上寻找一个好的 Sublime (3) 包,用于以各种语言(即 JavaScript)自动格式化我的源代码。我遇到了这个 SOF 帖子 (Sublime Text 2: Auto fix indentation for javascript?),因此决定尝试一下 JSFormat。到目前为止,它似乎工作得很好……除了它在 JS 代码中处理 JSON 对象时。例如,假设我有一个这样的函数:

function foo() {
  return {name: 'Dave', score: 1000};
}

它返回一个 JSON 格式的 JavaScript 对象,更像是一个哈希对象。我喜欢在一行中编写这样的对象,因为它简单易读,尤其是因为它只是一个小的临时对象。但是,如果我用 JSFormat 来格式化它,我的函数现在看起来像这样:

function foo() {
  return {
    name: 'Dave',
    score: 1000
  };
}

也许这只是我,但我真的不喜欢在多行中表示如此简单的 JSON 对象。是的,通常需要大括号的 JavaScript 代码应该将其内容与大括号分开,例如函数、if 语句和循环。也许如果 JSON 对象是一个包含函数的长对象,例如 jQuery Ajax 类,那么将属性分成多行是有意义的。

尽管如此,不管我关于大括号的观点是否有道理,我都知道 JSFormat 支持配置,如果不需要的话,也许有一种方法可以配置 JSFormat 以不将 JSON 对象的属性分成多行。有什么想法吗?

【问题讨论】:

    标签: javascript json sublimetext code-formatting sublimetext3


    【解决方案1】:

    很抱歉这个坏消息,但是......

    JSFormat 使用js-beautify,不支持单行函数定义。一切都被分解成“美化”的行,使其“更具可读性”。

    查看为 js-beautify 给出的示例...示例本身是单行函数定义。没有办法区分您确实希望保留的单行函数定义与您不想保留的那些。

    如果您考虑一下,使用美化器的理想情况是,如果您想要缩小代码并使其可读......这也只是一长行代码。

    我能感受到你的痛苦,相信我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-16
      • 1970-01-01
      • 2017-06-26
      • 2010-11-26
      • 2016-04-26
      • 1970-01-01
      相关资源
      最近更新 更多