158

正在使用的 IDE 是 WebStorm 11.0.3,tslint 已配置并且可以工作,但是它挂起,因为它尝试解析大型 *.d.ts 库文件。

有没有办法忽略特定的文件或目录?

4

10 回答 10

232

tslint v5.8.0更新

正如Saugat Acharya所述,您现在可以更新tslint.json CLI 选项:

{
  "extends": "tslint:latest",
  "linterOptions": {
      "exclude": [
          "bin",
          "lib/*generated.js"
      ]
  }
}

此拉取请求中的更多信息。


此功能已在tslint 3.6中引入

tslint \"src/**/*.ts\" -e \"**/__test__/**\"

您现在可以在此处添加 --exclude(或 -e)查看PR

命令行界面

usage: tslint [options] file ...

Options:

-c, --config          configuration file
--force               return status code 0 even if there are lint errors
-h, --help            display detailed help
-i, --init            generate a tslint.json config file in the current working directory
-o, --out             output file
-r, --rules-dir       rules directory
-s, --formatters-dir  formatters directory
-e, --exclude         exclude globs from path expansion
-t, --format          output format (prose, json, verbose, pmd, msbuild, checkstyle)  [default: "prose"]
--test                test that tslint produces the correct output for the specified directory
-v, --version         current version

你正在考虑使用

-e, --exclude         exclude globs from path expansion
于 2016-06-01T16:17:52.050 回答
87

当前使用 Visual Studio Code 和禁用 tslint 的命令是

/* tslint:disable */

有什么要注意的。上面的禁用会禁用该页面上的所有 tslint 规则。如果要禁用特定规则,可以指定一个/多个规则。

/* tslint:disable comment-format */
/* tslint:disable:rule1 rule2 rule3 etc.. */

或启用规则

/* tslint:enable comment-format */

更深入地了解 TSLint 规则标志

于 2017-09-27T13:28:17.170 回答
27

除了迈克尔的回答,考虑第二种方式:将linterOptions.exclude添加到 tslint.json

例如,您可能有tslint.json以下几行:

{
  "linterOptions": {
    "exclude": [
      "someDirectory/*.d.ts"
    ]
  }
}
于 2017-10-31T11:44:33.197 回答
19

从您开始,您可以在文件中的键下tslint v5.8.0设置一个exclude属性:linterOptionstslint.json

{
  "extends": "tslint:latest",
  "linterOptions": {
      "exclude": [
          "bin",
          "**/__test__",
          "lib/*generated.js"
      ]
  }
}

更多信息请点击此处

于 2017-10-31T16:08:33.013 回答
13

我不得不使用 **/* 语法来排除文件夹中的文件:

    "linterOptions": {
        "exclude": [
          "src/auto-generated/**/*",
          "src/app/auto-generated/**/*"
        ]
    },
于 2019-08-28T21:28:27.310 回答
9

还有其他 遇到了这个问题。不幸的是,排除文件只有一个未解决的问题:https ://github.com/palantir/tslint/issues/73

所以恐怕答案是否定的。

于 2016-01-03T18:11:36.097 回答
7

作为补充

禁用下一行的所有规则 // tslint:disable-next-line

要禁用下一行的特定规则// tslint:disable-next-line:rule1 rule2...

禁用当前行的所有规则someCode(); // tslint:disable-line

禁用当前行的特定规则someCode(); // tslint:disable-line:rule1

于 2019-11-29T14:57:46.723 回答
6

linterOptions 当前仅由 CLI 处理。如果您不使用 CLI,则根据您使用的代码库,您需要在其他地方设置忽略。webpack、tsconfig 等

于 2018-10-18T15:29:21.297 回答
4

可以通过定义排除参数来修改 package.json 中的 lint 脚本来确认在版本 tslint 5.11.0 上它可以工作:

"lint": "ng lint --exclude src/models/** --exclude package.json"

干杯!!

于 2019-09-24T14:25:25.487 回答
3

在您的代码示例中添加该部分

"linterOptions": {
"exclude": [
  "node_modules/**/*.",
  "db/**/*.",
  "integrations/**/*."
]

},

于 2020-11-12T05:14:05.100 回答