使用 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 解释器。 If it is installed in an uncommon location, specify it on the page of 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 配置文件中写入相应规则的新严重级别(错误级别)。
此功能在以下语言和技术中 受支持: