TSLINT:删除导入时丢失的空格规则

时间:2017-01-03 16:08:02

标签: typescript tslint

TSLint需要像这样导入......

import { RouterModule } from "@angular/router";

但是,我的IDE会导入这样的所有内容......

import {RouterModule} from "@angular/router";

现在我确信我可以配置IDE来改变它,但是关闭此规则似乎更容易。但是,我是linting的新手,我不知道在哪里可以找到正确的禁用规则。我仍然想要一些空格(属性等)的强制执行但不是这个。

关闭此规则的正确设置是什么?

4 个答案:

答案 0 :(得分:5)

没有针对您描述的特定案例的规则,但有一个更通用的规则:Whitespace

如果您使用IntelliJ或Webstorm,可以在以下位置更改编辑器设置:设置 - >编辑 - >代码风格 - > JavaScript - >空间 - >在ES6导入/导出括号内

答案 1 :(得分:4)

要停用规则,您需要修改tslint.json。

您必须从check-module属性中的数组中删除whitespace

See the documentation:

  

"检查模块"检查导入中的空白区域出口报表。

所以最后你应该有类似的东西:

tslint.json (其他规则未显示)

{
 "rules": {
   "whitespace": [
      true,
      "check-branch",
      "check-decl",
      "check-operator",
      "check-separator",
      "check-type",
      "check-typecast"
    ]
}

答案 2 :(得分:1)

我在之前的回复之前就开始了。第一个对IJ很有用,但那不是我问的问题。另一个是正确的,我也来了...

"whitespace": [
  true,
  "check-branch",
  "check-decl",
  "check-operator",
  "check-separator",
  "check-type"
]

只要您遗漏"check-module",就不应该收到这些消息。

但是如果你使用Angular,还有另外一点细微差别。 Angular也宣布了这条规则。因此,即使您在TS lint中禁用此功能,如果您使用的是Codealyzer,Angular Style指南也会导致错误。同样,改变IJ的第一个响应仍然有效(虽然我的想法很糟糕,IJ没有适当的TS默认值)。在这种情况下,您需要确保包括......

"import-destructuring-spacing": false,

答案 3 :(得分:1)

我有

"whitespace": [
  true,
  "check-branch",
  "check-decl",
  "check-operator",
  "check-separator",
  "check-type",
  "check-typecast"
],
"import-destructuring-spacing": true,
"import-spacing": true

在IJ / WebStorm中,在Prefs>中启用它。编辑>代码风格> TypeScript>空间>在>内ES6导入/导出大括号