WebStorm 无法识别外部库全局变量

WebStorm is not recognizing external library globals

我正在 WebStorm 中使用 AngularJS (1.6.5) 进行一个小项目。这里的问题是 WebStorm 无法识别任何全局 AngularJS 定义。我安装了 AngularJS 和正确的@types。我还将 AngularJS 定义为 外部库 并且我还确保 AngularJS 不是 excluded by WebStorm。然而 WebStorm 仍然给我错误。

示例:

logConfig.$inject = ["$logProvider", "$compileProvider"];
function logConfig($logProvider: ng.ILogProvider, $compileProvider: ng.ICompileProvider) {
    // $logProvider.debugEnabled(false); //TODO add this in production
    // $compileProvider.debugInfoEnabled(false); //TODO add this in production

    // Disable comment and class directives. Boosts the performance
    $compileProvider.commentDirectivesEnabled(false);
    $compileProvider.cssClassDirectivesEnabled(false);
}

上面的代码在 WebStorm 中出现以下错误:Unresolved variable $inject。 ($inject 是红色的,当我将鼠标悬停在它上面时会给出消息)

我是不是漏掉了什么?


更新

我可能已经发现问题了。 WebStorm 没有重新调整 AngularJS,即使它在我的 Node_modules 中,我有正确的输入 (@types/angular) 并且我已经注册为外部库 (file-->settings- ->语言和框架-->JavaScript-->库)。

当我键入 import * as ng from "an|" 并点击 "ctrl + space" 时,WebStorm 没有给我任何关于 angular 库的提示。我猜这些问题是相互关联的。

有人知道是否有其他选项可以使 WebStorm 重新调整 AngularJS?

我找到了问题的解决方案:

Ekaterina Prigara 所说,不知何故我的 TSLint 被禁用了。我需要通过 Settings | Languages & Frameworks | TypeScript | TSLint 重新启用它。重新启用它后,我重新启动了 WebStorm 并收到错误:错误:Initialization error (typescript). Cannot read property 'createHash' of undefined。然后我删除了我的 node_modules 文件夹并通过 npm install 重新安装了它。之后一切都恢复正常了。