为什么PhpStorm不显示所有TSLint规则?

问题描述

我在Angular项目的PhpStorm(v2020.2.1 Build#PS-202.6948.87)和TSLint上遇到问题。

实际上,我安装了“ angular-tslint-rules”软件包,在PhpStorm的设置中激活了TSLint的自动配置,以便获得尽可能干净的代码。

但是,PhpStorm并未指出“ angular-tslint-rules”软件包中包含的所有错误。我有一个规则prefer-readonly的例子。如您所见,在PhpStorm上没有加下划线:

PhpStorm

在Vscode中,如您所见,在同一代码下标有错误“ prefer-readonly”:

VSCode

那么为什么PhpStorm不向我指出错误?您有任何可能的解决方案吗?

感谢您的帮助。

解决方法

prefer-readonly规则requires type info。 由于某些技术困难,TSLint集成当前不支持此类规则:使用--project tsconfig.json(要求此类规则正常运行)运行TSLint对我们来说是不可接受的,因为它将导致在内部创建TypeScript的第二个实例TSLint进程(除了用于编译和突出显示的TypeScript实例(如果已启用)之外)还将导致明显的性能下降。尽管看起来tslint --project在提交前检查文件时执行得很快,但是IDE在编辑代码时需要更快地响应。

要解决此问题,我们建议使用typescript-tslint-plugin。 要使用它:

  • 安装“ typescript-tslint-plugin” npm软件包并将其添加到tsconfig.json中的“ plugins”中:
    {
    "compilerOptions": {
    "plugins": [{"name": "typescript-tslint-plugin"}]
    }
    }
  • 在IDE设置(首选项|语言和框架| TypeScript | TSLint )中禁用TSLint,以避免两次显示相同的错误。有关其他配置选项,请参见typescript-tslint-plugin docs

  • 确保在首选项|选项中启用Typescript语言服务。语言和框架| TypeScript

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...