格式化JavaScript:数组元素左侧的逗号

时间:2016-06-04 14:43:28

标签: javascript arrays formatting code-formatting formatter

我想像这样格式化JavaScript数组文字(多行编写)

  • 左括号与第一个数组元素在同一行
  • 逗号位于数组元素的左侧
  • 开头括号或逗号
  • 后面有一个空格字符
  • 关闭括号位于单独的一行
  • 逗号,打开和关闭括号具有相同的缩进级别
  • 开口支架紧随其后
    • 作业时的下一行
    • 返回陈述时的同一行

示例

var myArray =
  [ 'first'
  , 'second'
  , 'third'
  ];

var myMultiDimArray =
  [ [ 'first'
    , 'second'
    , 'third'
    ]
  , [ 'first'
    , 'second'
    , 'third'
    ]
  ];

function returnArray() {
  return [ 'first'
         , 'second'
         , 'third'
         ];
}

如何配置哪种代码格式化工具(可在Sublime Text 3,Atom或Webstorm / Intellij中使用)将此格式样式应用于我的代码?

备注

  • 此格式设置风格类似于Elm's style guide

      

    目标:一致的样式,易于阅读并产生干净的差异。这意味着积极地交易紧凑的代码以保证规则性和易于修改。

  • 此格式样式似乎称为comma first notation

  • 为什么在返回语句的情况下,左括号会在同一行上显示?

      

    return语句受自动分号插入(ASI)的影响。 return关键字和表达式
    之间不允许使用行终止符    - MDN

修改

js-beautify可能能够做我所描述的。它有一个选项--comma-first但仅此选项是不够的:

$ js-beautify --comma-first example.js
var myArray = ['first'
    , 'second'
    , 'third'
];

var myMultiDimArray = [
    ['first'
        , 'second'
        , 'third'
    ]
    , ['first'
        , 'second'
        , 'third'
    ]
];

function returnArray() {
    return ['first'
        , 'second'
        , 'third'
    ];
}

0 个答案:

没有答案