自动修复TSLint警告


73
    [64, 1]: space indentation expected
    [15, 27]: Missing semicolon
    [109, 36]: missing whitespace
    [111, 24]: missing whitespace
    [70, 1]: Consecutive blank lines are forbidden

我一直从TSLint收到这样的警告。有大量的警告,很难手动修复它。

我一直在寻找一种可以自动修复大多数警告的方法。


Answers:


127

您可以使用TSLint--fix选项自动修复大多数警告。在一个常见的用例中,可能看起来像这样:

tslint --fix -c ./config/tslint.json 'src/**/*{.ts,.tsx}'

请记住,这将覆盖您的源代码。尽管这是99.9%的时间是安全的,但我还是建议您使用以下工作流程:

  1. 提交对代码所做的更改
  2. 使用--fix上面的标志运行TSLint
  3. 快速查看TSLint所做的更改
  4. 通过这些更改进行新的提交,或将其修改为您以前的提交

这样,您就不会因流氓自动更正出错而感到惊讶。


48
如果您使用的是Angular CLI,ng lint --fix
则可

1
@ daniel.caspers或node_modules\.bin\tslint --fix -c ./tslint.json 'src/**/*{.ts,.tsx}'
FindOutIslamNow


6

通过@ angular / cli您可以使用 ng lint --fix


3

如果使用IntelliJ IdeaWebStrom,则可以通过以下配置在“设置”>“工具”中创建File Watcher。

在此处输入图片说明

保存(Ctrl + s)后,当前文件将被修复。


2

如果您使用webpack。您可以使用tslint-loader:

将此添加到webpack模块规则:

{
    test: /\.ts$/,
    loader: 'tslint-loader',
    enforce: 'pre',
    options: {
      fix: true
    }
  }

在此处阅读更多信息:tslint-loader


1

也许这可以帮助某些人在保存时寻找自动修复!

我们可以使tslint警告在保存时自动修复。为此,请转到tslint.json文件并添加以下设置。[注意:此设置适用于最新的TSLint,而不适用于不推荐使用的设置。

  "source.fixAll.tslint": true

更新此文件后,转到任何文件并尝试提供一些空格,它将tslint警告消息显示为“ trailing whitespace”,当您保存(Ctrl + S)时,此警告将消失。尽管它是手动显示的,但我们通常倾向于尝试在编辑后保存文件,届时它将自动修复。

祝您编码愉快!


1
惊人!一件事:您必须将行添加到settings.json而不是tslint.json。完整的代码添加:"editor.codeActionsOnSave": { "source.fixAll.tslint": true }
PRID
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.