GoLand 2025.2 Help

ESLint

GoLand 集成了 ESLint ,该工具提供了大量可通过插件扩展的 Lint 规则。 GoLand 会在编辑器中实时显示由 ESLint 报告的警告和错误。 通过 ESLint,您还可以使用 JavaScript Standard Style ,以及 对 TypeScript 代码执行 lint 检查

除了 JavaScript 和 TypeScript 外,ESLint 也可应用于整个项目或其特定部分中的其他类型文件,请参阅 配置 Lint 范围

开始之前

  1. 下载并安装 Node.js

  2. 配置本地 Node.js 解释器在 Windows 子系统 Linux 上使用 Node.js配置远程 Node.js 解释器 中所述,在项目中配置 Node.js 解释器。

安装 ESLint

  1. 在集成的 终端Alt+F12 )中,键入以下命令之一:

    • npm init @eslint/config@latest 在当前项目中安装 ESLint 并生成配置文件。

      按照向导提示回答问题。 完成后,GoLand 会安装最新版本的 ESLint 并生成一个 eslint.config.js 配置文件。

    • npm install --save-dev eslint 以开发依赖的方式安装 ESLint。

    • npm install --g eslint 全局安装。

    • pnpm create @eslint/config@latest 在当前项目中安装 ESLint 并生成配置文件。

      按照向导提示回答问题。 完成后,GoLand 会安装最新版本的 ESLint 并生成一个 eslint.config.js 配置文件。

    • pnpm add -D eslint 以开发依赖的方式安装 ESLint。

    • pnpm add -g eslint 全局安装。

    • yarn create @eslint/config 在当前项目中安装 ESLint 并生成配置文件。

      按照向导提示回答问题。 完成后,GoLand 会安装最新版本的 ESLint 并生成一个 eslint.config.js 配置文件。

    • yarn add -D eslint 以开发依赖的方式安装 ESLint。

    • yarn add eslint 进行全局安装。

  2. 您可以选择安装其他插件,例如 eslint-plugin-react 来对 React 应用进行代码检查。

详细信息请参见 ESLint 官方网站

配置文件

配置文件支持的格式

根据您使用的 ESLint 版本,GoLand 支持以下类型的配置文件:

ESLint 版本 9 及更高版本

eslint.config.js eslint.config.mjs eslint.config.cjs (flat 格式),详细信息请参见 ESLint 官方网站

您也可以使用 TypeScript 编写的配置文件,例如 eslint.config.ts eslint.config.mts eslint.config.cts 。 为此,您需要指定 unstable_ts_config 标志。

  1. 按下 Ctrl+Alt+S 打开设置,然后选择 语言与框架 | JavaScript | 代码质量工具 | ESLint

  2. 选择 手动 ESLint 配置

  3. 额外的 eslint 选项 字段中,输入 --flag unstable_ts_config

  4. 单击 应用 以保存更改并关闭对话框。

ESLint 版本 8 及更早版本

  • .eslintrc.* .eslintrc .eslintrc.json .eslintrc.yaml 文件,或其他受支持格式的文件)。

  • .eslintignore

  • package.json (包含 eslintIgnoreeslintConfig 属性)。 该配置系统已弃用,详细信息请参见 ESLint 官方网站

如何迁移到 flat 格式,请参见 ESLint 配置迁移指南

创建和编辑配置文件

  • 打开一个配置文件,或在项目根目录中创建一个新文件。 根据您使用的 ESLint 版本填写配置文件内容:

    // @ts-check import eslint from '@eslint/js'; import tseslint from 'typescript-eslint'; export default tseslint.config( eslint.configs.recommended, tseslint.configs.recommended, );

    详细信息请参见 ESLint 官方网站。

    /* eslint-env node */ module.exports = { extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], parser: '@typescript-eslint/parser', plugins: ['@typescript-eslint'], root: true, };

    详细信息请参见 ESLint 官方网站。

在 GoLand 中配置 ESLint

默认情况下,ESLint 会被 自动配置。 您可以选择 手动配置所有设置,或禁用 ESLint。

自动配置 ESLint

使用自动配置时,GoLand 会使用项目 node_modules 文件夹中的 ESLint 包,以及当前文件所在文件夹中的 配置文件。 如果当前文件所在文件夹中未找到 配置文件,GoLand 会在其父文件夹中一直向上查找,直到项目根目录。

如果有多个包含 ESLint 依赖项的 package.json 文件,GoLand 会为每个 package.json 启动一个独立进程,并处理其下的所有内容。 这使您可以在 monorepo 或包含多个 ESLint 配置的项目中,为每个路径应用特定的 ESLint 版本或插件集。

  • 要在当前项目中自动配置 ESLint,请打开 设置 对话框(Ctrl+Alt+S ),转到 语言与框架 | JavaScript | 代码质量工具 | ESLint ,然后选择 自动 ESLint 配置 选项。

  • 要在所有新项目中自动配置 ESLint,请打开 新项目设置 对话框(文件 | 新项目设置 | 新项目的 设置 ),转到 语言与框架 | JavaScript | 代码质量工具 | ESLint ,然后选择 自动 ESLint 配置 选项。

手动配置 ESLint

使用手动配置,您可以使用自定义的 ESLint 包、配置文件和工作目录,并应用各种其他规则和选项。

  1. 设置 对话框(Ctrl+Alt+S )中,转到 语言与框架 | JavaScript | 代码质量工具 | ESLint ,然后选择 手动 ESLint 配置

  2. ESLint 包 字段中,指定 eslintstandard 包的位置。

  3. 工作目录 字段中,指定 ESLint 进程的工作目录。

    默认情况下该字段为空,GoLand 会自动检测工作目录。 首先,它会查找距离被 Lint 的文件最近、且包含一个 配置文件 的目录。

    如果自动检测的工作目录与项目配置不符,则需要手动指定工作目录。 使用分号作为分隔符。 可接受的值包括:

    • 绝对路径。

    • 相对于项目基础目录的路径(即存储 GoLand 项目元数据的 .idea 文件夹的父文件夹)。 例如:

      1. ./ :使用项目基础目录作为 ESLint 进程的工作目录。

      2. client;server :使用 <project_base_dir>/client <project_base_dir>/server 作为工作目录。 对于不位于 client server 文件夹下的文件,将按上述方式 自动检测工作目录。

      3. packages/* <project_base_dir>/packages 目录的每个子文件夹将作为相应被检查文件的工作目录。

    • 如果某些被检查文件在文件夹层级结构中不属于项目基础目录,则可以使用相对于内容根目录的路径。

    • Glob 模式 ,用于定义到工作目录的相对路径。 例如,使用 **/foo -* 时,每个名称以 foo- 开头的目录都将作为相应被检查文件的工作目录。

  4. 选择要使用的配置。

    • 自动搜索 :如果 ESLint 规则已在受支持格式的 配置文件 中进行配置,请选择此选项。

      GoLand 将从要检查的文件所在文件夹开始查找该文件,然后在其父文件夹中继续查找,直到项目根目录。

    • 配置文件 - 选择此选项以使用自定义文件,并在 路径 字段中指定文件位置。

    ESLint 官方网站了解关于配置 ESLint 的更多信息。

  5. 可选:

    • 额外eslint 选项 (O) 字段中,指定运行 ESLint 时使用的其他命令行选项,各项之间用空格分隔。 例如,要使用以 TypeScript 编写的 配置文件 ,请输入 --flag unstable_ts_config

      ESLint 官方网站中了解有关 ESLint CLI 选项的更多信息。

    • 其他规则目录 字段中,指定包含附加代码验证规则的文件位置。 这些规则将在默认配置文件或自定义配置文件中的规则之后应用,并相应地覆盖后者。

      请参阅 ESLint 官方网站,了解有关 ESLint 配置文件添加规则 的更多信息。

配置 Lint 范围

  1. 打开 设置 对话框(Ctrl+Alt+S ),转到 语言与框架 | JavaScript | 代码质量工具 | ESLint ,然后选择 自动 ESLint 配置手动 ESLint 配置

  2. 为文件运行 字段中,指定定义要进行检测的文件集合的模式。 您可以接受默认模式,也可以输入自定义模式。

    使用默认模式 **/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,html,vue} 时,ESLint 会唤醒并处理任何已更新的 JavaScript、TypeScript、JSX、TSX、HTML 或 Vue 文件。 要检测其他类型的文件或存储在特定文件夹中的文件,请使用 glob 模式 更新默认模式。

    • 例如,为了自动检测 CoffeeScript 文件,也可以将 coffee 添加到默认模式中,如下所示:

      **/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,html,vue,coffee}
    • 要检测某个特定文件夹及其子文件夹中的文件,请将 **/* 替换为 <path to the folder>/**/*

      假设您有一个具备以下结构的项目:

      ESLint:自定义模式。 示例项目结构

      要仅检测 coffee 文件夹中的文件,请按如下方式更新模式:

      coffee/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,html,vue,coffee}

      结果是,文件 linting.coffee 被检测,而 no_linting .coffee 未被检测。

保存时自动修复问题

ESLint 可在每次手动使用 Ctrl+S 保存更改时,或在启动运行/调试配置、关闭 GoLand 或执行版本控制操作时自动保存时,修复检测到的问题。有关更多信息,请参阅 自动保存

  • 打开 设置 对话框(Ctrl+Alt+S ),转到 语言与框架 | JavaScript | 代码质量工具 | ESLint ,并选中 在保存时运行 eslint --fix 复选框。

Lint 您的代码

安装并启用后,每次打开 JavaScript 文件时 ESLint 会自动激活。 您还可以配置 ESLint,以便 在保存时自动检测和修复问题

默认情况下,GoLand 会根据 ESLint 配置中的严重性级别标记检测到的问题。 请参阅 配置 ESLint 高亮显示 ,了解如何覆盖这些设置。

当前文件中检测到错误的说明及其快速修复可在编辑器以及 文件 标签页中的 问题 工具窗口中查看。

所有之前打开的文件中的错误以及其快速修复会显示在 项目错误 标签页中的 问题 工具窗口中。 要打开工具窗口,请单击编辑器右上角的 检查 小组件:

检查工具栏

在编辑器中查看问题并应用快速修复

  • 要查看问题描述,将鼠标悬停在高亮代码上。

    ESLint:突出显示错误和警告,问题描述显示在工具提示中。

    要解决检测到的问题,请单击 ESLint: 修复 '<rule name>' 或按 Alt+Shift+Enter

    要解决当前文件中检测到的所有问题,请单击 更多操作Alt+Enter ),并从列表中选择 ESLint:修复当前文件

    ESLint:解决问题
  • 您还可以配置 ESLint,在保存文件时修复文件中的所有问题。 要配置此行为,请在 ESLint 页的 设置 对话框中选中 在保存时运行 eslint --fix 复选框,如 在 GoLand 中激活并配置 ESLint 中所述。

在“问题”工具窗口中 Lint 您的代码

  • 要打开 问题 工具窗口,请单击编辑器右上角的 检查 小组件。

    检查工具栏

    或者,从主菜单中选择 查看 | 工具窗口 | 问题 ,或按 Alt+6

  • 文件 标签页中查看问题描述、应用快速修复、导航至源代码中出错的片段,并可以在 编辑器预览 面板中直接进行修复,无需离开工具窗口。 详细了解请参阅 问题工具窗口

    在“问题”工具窗口中进行快速修复
  • 项目错误 标签页中可查看当前会话期间打开的所有文件中的错误,错误信息按检测到错误的文件进行分组显示。

    “问题”工具窗口,ESLint。 “项目错误”选项卡显示整个项目中先前打开文件中的语法错误

    在此,您可以查看问题描述、应用快速修复、导航到源代码中出错的片段,并在 编辑器预览 窗格中修复它们,无需离开工具窗口。 了解详细信息,请参见 Problems 工具窗口

配置 ESLint 的高亮显示方式

默认情况下,GoLand 会根据 ESLint 配置中的严重性级别标记检测到的错误与警告。 例如,错误以下划红线标示,而警告则以黄色背景突出显示。

更改 ESLint 配置中规则的严重级别

忽略配置中的严重级别

您可以覆盖 ESLint 配置中的严重性级别,使 GoLand 忽略这些级别,并将 linter 报告的所有内容分别显示为错误、警告或自定义颜色。

为 ESLint 指定自定义严重级别

忽略配置中的严重级别

  1. 设置 对话框(Ctrl+Alt+S )中,选择 编辑器 | 检查。 将打开 Inspections 页面

  2. 在中央窗格中,转到 JavaScript | 代码质量工具 | ESLint

  3. 在右侧窗格中,取消选中 使用配置文件中的规则严重性 复选框,并选择要替代默认级别的严重性级别。

从 ESLint 导入代码风格

您可以将部分 ESLint 代码风格规则 导入到 GoLand 的 JavaScript 代码风格设置 中。 这使得 GoLand 在补全、生成、重构代码或添加 import 语句时,能够为项目使用更精确的代码风格选项。 使用 重新格式化 操作后,从 ESLint 角度来看,GoLand 将不再破坏格式正确的代码。

GoLand 支持所有官方格式的 ESLint 配置,另请参阅上文中的 ESLint 配置文件支持的格式

  • eslint.config.js eslint.config.mjs eslint.config.cjs eslint.config.ts eslint.config.mts eslint.config.cts (flat 格式),适用于 ESLint 9 及更高版本。

  • .eslintrc 文件以及带有 eslintConfig 属性的 package.json 文件,适用于 ESLint 8 及更早版本。

详细信息请参见 ESLint 官方网站

  • 首次打开项目时,GoLand 会自动从项目的 ESLint 配置中导入代码风格设置。

  • 如果 ESLint 配置已更新(无论是手动更新还是通过版本控制),请在编辑器中打开该文件,然后从上下文菜单中选择 应用 ESLint 代码样式规则

    从 JavaScript 或 YAML 配置文件导入 ESLint 代码风格规则

    或者,直接在文件顶部的问题提示中选择 回答 “是否应用 ESLint 的代码样式?”

    应用的规则列表显示在 通知 工具窗口中:

    事件日志工具窗口显示应用的 ESLint 规则列表

使用 JavaScript Standard Style

您可以将 JavaScript Standard Style 设置为应用程序的默认 JavaScript 代码风格,以便在编写或重新格式化代码时应用其主要规则。 由于 Standard 是基于 ESLint 的,您也可以通过 GoLand 的 ESLint 集成功能使用 Standard。

安装 JavaScript Standard

通过 ESLint 启用 Standard 风格的 Lint

如果打开的项目在其 package.json 文件中列出了 standard ,GoLand 会自动启用 Standard 进行 lint 检查。

  1. 设置 对话框(Ctrl+Alt+S )中,转到 语言与框架 | JavaScript | 代码质量工具 | ESLint

  2. 在打开的 ESLint 页面上,选择 手动 ESLint 配置 并在 ESLint 包 字段中指定 standard 包的位置。

将 JavaScript Standard Style 设置为默认风格

  1. 设置 对话框(Ctrl+Alt+S )中,转到 编辑器 | 代码样式 | JavaScript

  2. JavaScript 页面中,点击 设置来源 ,然后选择 JavaScript 标准样式。 该风格将替代您当前的方案。

结合 Docker 使用 ESLint

使用 GoLand,您可以像在本地一样在 Docker 容器中运行 ESLint 对代码进行检查。

  1. 请按照 从 JetBrains Marketplace 安装插件 中的说明,在 设置 | 插件 页签 Marketplace 上安装 Node.jsNode.js Remote Interpreter 插件。

  2. 请按照 Docker 主题中的说明下载、安装并配置 Docker

  3. 打开 package.json 并确保在 devDependencies 部分中列出了 ESLint:

    { "name": "node-eslint", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "cookie-parser": "~1.4.4", "debug": "~2.6.9", "express": "~4.16.1", "http-errors": "~1.6.3", "morgan": "~1.9.1", "pug": "2.0.0-beta11" }, "devDependencies": { "@eslint/js": "^9.15.0", "eslint": "^9.15.0", "globals": "^15.12.0" } }
  4. 右键点击编辑器中的任意位置,然后从上下文菜单中选择 运行 '<package manager> install'

  5. 之后,ESLint 的工作方式与本地代码一样。 可直接在编辑器或 问题 工具窗口中查看所检测差异的说明,并应用所建议的快速修复。

最后修改日期: 2025年 9月 26日