3

我在 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 会抱怨换行不好。

在此处输入图像描述

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

4

2 回答 2

2

只需"preserve_ternary_lines":true.jsbeautifyrc 三元线表达式中添加选项就不会再被破坏。

atom-beautify 的相关更改:atom-beautify/pull/726

于 2016-10-05T19:45:06.613 回答
1

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

jshint

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

{
  "multistr": true
}

您还可能必须设置"laxbreak"为 true,这可以容忍可能不安全的换行符。查看所有可用选项的示例

jslint

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

于 2016-09-26T09:39:35.383 回答