使用 Web linter 验证代码
ReSharper 集成了 Web 代码质量工具(也称为 linter)——JSLint、ESLint 和 TSLint,帮助您检测并修复代码中的更多问题。
Linters 被设计为命令行工具,因此通常每次您想要验证代码时,都需要打开控制台,运行命令行,然后查看其文本输出。
使用 ReSharper 则不同。 当在 ReSharper 设置中安装并启用了 linter 时,linter 的代码规则将与 ReSharper 自身的 代码检查 一起使用,所有由 linter 检测到的代码问题都会在编辑器中 设计时 高亮显示。
下表显示了不同 linter 在不同上下文中的支持情况。
JavaScript | HTML 中的 JS 代码 | ASPX 中的 JS 代码 | TypeScript | JSON | |
|---|---|---|---|---|---|
JSLint | |||||
ESLint | |||||
TSLint |
在编辑器中启用 Web linter 验证
安装 Node.js 解释器。 最简单的方法是安装 Node.js Tools for Visual Studio。
在大多数情况下,ReSharper 会自动找到 Node.js 解释器。 如果其安装在非常规位置,请在 页面的 ReSharper 选项 中指定它 Alt+R, O
在您的项目中安装所需的 linter 包。
打开 下的所需 linter 选项页面并启用 linter。
如果您的项目中有 node_modules 文件夹,ReSharper 会自动找到 linter 包。 但您也可以指定自定义的 linter 文件夹。
如果您使用 ESLint 或 TSLint,ReSharper 将从 linter 配置文件中获取所有规则和设置。 默认情况下,这些文件会被自动找到,但您也可以指定自定义配置文件。
如果启用了自动搜索但 linter 无法工作,请确保配置文件位于当前目录和/或其父目录中,或位于用户主目录中:
对于 ESLint: .eslintrc.* 文件或
eslintConfig字段在 package.json 中。对于 TSLint: tslint.json 、 tslint.yaml 或 tslint.yml 。
您还可以传递任何用空格分隔的额外命令行选项(请参阅 JSLint、 ESLint 和 TSLint 的命令行选项参考)。
请注意,某些影响 linter 执行方式的选项无法应用。 例如,
--fix将被忽略,因为 ReSharper 提供了自己的方式来应用 linter 修复。如果您使用 TSLint,ReSharper 将默认在 TypeScript 和 JavaScript 代码中启用 linter。 要仅在 TypeScript 代码中使用它,请清除相应的复选框。
当设置好 linter 支持后,您将在编辑器中看到由 linter 检测到的代码问题,根据相应规则的严重级别(错误级别)进行高亮显示:

如果 linter 为某个规则提供了修复,您可以直接从 Alt+Enter 菜单中应用它:

您还可以从 Alt+Enter 菜单中选择 ——这将直接在 linter 配置文件中写入相应规则的新严重级别(错误级别)。
此功能在以下语言和技术中是 支持的: