Atom - JSBeautify和JSLint不同意三元断线

时间:2016-09-26 06:02:49

标签: ide atom-editor jslint js-beautify

我在Atom中安装了JSLint和Atom-beautify(我相信这是jsbeautify的前端)。一般来说这是相当花花公子,除了他们争论三元运算符(我认为这是正确的术语)。所以如果我这样做

  var theWindow = (thisObj instanceof Panel)? thisObj: new Window("palette", thisObj.scriptTitle, undefined, {resizeable: true});

JSBeautify会让它看起来像:

var theWindow = (thisObj instanceof Panel)
  ? thisObj
  : new Window("palette", thisObj.scriptTitle, undefined, {resizeable: true});

然后JSLint会抱怨线路断线。

enter image description here

我查看了JSBeautify文档和JSLint文档,但我找不到任何更改任何关于三元语法的行为的选项。任何人都可以告诉我如何更改它,所以每次我美化我的代码时我都不必手动重新格式化我的所有三元函数?只要他们同意,我不介意哪一个占上风。

2 个答案:

答案 0 :(得分:1)

你问的是jslint(“lint”),但是使用的linter实际上是jshint(“提示”。)

jshint

创建.jshintrc文件并添加以下规则以容忍多行字符串

{
  "multistr": true
}

可能必须将"laxbreak"设置为true,这可以容忍可能不安全的换行。有关所有可用选项,请参阅AngularJS documentation

的JSLint

同样,您可以创建.jslintrc文件来覆盖example的默认选项。使用JSLint作为参考。

答案 1 :(得分:1)

只需在"preserve_ternary_lines":true中添加选项.jsbeautifyrc即可 三元线表达式将不再被打破。

来自atom-beautify的相关变化:atom-beautify/pull/726