GoLand 2025.2 Help

文件监视器

File Watcher 是 一个 GoLand 工具,可让您在 IDE 中更改或保存文件时自动运行命令行工具,例如编译器、格式化器或 linter。

File Watcher 拥有两个专用的 代码检查

  • File Watcher available 检查会在每个适用的文件中运行预定义的 File Watcher。 如果项目尚未配置相关的 File Watcher,GoLand 会建议添加一个。

  • File Watcher problems 检查由正在运行的 File Watcher 触发,并高亮显示其特定的错误。

您可以使用提供的模板之一,或从头开始配置文件监视器。 配置完成的文件监视器可以保存在项目设置或 IDE 设置中,并在不同项目中复用。 下图列出了文件监视器的预定义模板。 您无法修改预定义模板列表。

文件监视器模板

如需了解有关特定工具文件监视器的更多信息,请参阅以下页面:

请注意,在 GoLand 中使用其中某些工具需要按照 从 JetBrains Marketplace 安装插件中说明,在 设置 | 插件 页面上安装插件。

创建文件监视器

  1. 设置 对话框(Ctrl+Alt+S )中,单击 文件监视器 下的 工具。 将打开 File Watchers 页面 ,显示该项目和 IDE 中已配置的 File Watcher 列表。

  2. 单击 添加按钮 并选择用于创建 File Watcher 的预定义模板。 该选择取决于您将要使用的工具。 若要使用不在列表中的工具,请选择 自定义

    文件监视器模板

    将打开 新建监视器 对话框。

  3. 名称 字段中输入 File Watcher 的名称。 默认情况下,GoLand 会建议所选预定义模板的名称。

配置输入文件的预期类型和位置

使用 要监视的文件 区域中的控件定义要应用 File Watcher 的文件范围。

  1. 文件类型 列表中选择所需的输入文件类型。 File Watcher 将仅分析和处理此类型的文件。 文件类型是根据 文件类型与文件扩展名之间的关联 进行识别的。

    默认情况下,该字段会显示与所选预定义模板匹配的文件类型。

  2. 选择 File Watcher 适用的 作用域

    SCSS 文件监视器:更改默认作用域

    对这些文件的更改将立即、在保存或切换窗口时触发 File Watcher,这取决于 自动保存已编辑文件以触发监视器 复选框的状态。

    从列表中选择一个预定义作用域。 对于项目级 File Watcher,您还可以单击 浏览按钮 ,在随后打开的 作用域 对话框中配置自定义作用域。

    • 所有位置: 下方列出的所有作用域。

    • 项目文件: 项目中的所有文件

    • 草稿和控制台:文件 工具窗口中的所有草稿和控制台(视图 | 工具窗口 | 文件)。

    • 最近查看的文件: 在编辑器中最近查看的所有文件。

    • 最近更改的文件: 在编辑器中最近更改的所有文件。

    • 模块: 当前模块中的所有文件。

    • 当前文件: 活动编辑器标签页中打开的文件。

    • 所有更改文件: 所有已更改的文件,即与所有现有变更列表关联的所有文件。

    • 默认变更列表: 与变更列表 Default 关联的所有文件。

    或者,单击 浏览按钮 ,并在打开的 作用域 对话框中配置 自定义作用域

    有关更多信息,请参阅 作用域

配置与外部工具的交互

更改时运行的工具 区域指定要使用的工具、传递给工具的参数、预期的输出文件类型等。

  1. 程序(P) 字段中,指定工具可执行文件的路径( .exe .cmd .bat ,或其他,具体取决于工具)。

  2. 实参(A) 字段中,定义要传递给工具的参数。

    参数通常使用 指定,例如 $FileName$$FileNameWithoutExtension$ ,这些宏将在运行时替换为实际文件名。

    您可以手动输入宏,或单击 插入宏图标 并在打开的 对话框中从列表中选择相应的模式。

  3. 要刷新的输出路径(O) 字段中,指定工具存储输出的文件:生成的源代码、source map 和依赖项。 根据这些设置,GoLand 能识别通过编译生成的文件。

    输出路径通常使用 指定。 您可以手动输入它们,或单击 插入宏图标 并在打开的对话框中从列表中选择相应项。

    要指定多个宏,请使用冒号 : 作为分隔符,例如 $FileNameWithoutExtension$.css:$FileNameWithoutExtension$.css.map

  4. 展开 工作目录和环境变量 隐藏区域。

  5. 定义环境变量。 例如,指定 PATH 变量,用于启动当前配置工具所需但其路径未明确包含的其他工具。

  6. 工作目录(W) 字段中,指定将应用工具的目录。

    由于工具始终是在文件上下文中调用的,因此默认工作目录为当前文件所在的目录。 所有预定义模板中的默认工作目录均通过 $FileDir$ 宏指定。 要指定自定义的工作目录,可在字段中输入路径,或者单击 浏览图标 并在 选择路径 对话框中选择目录,或单击 插入宏图标 并在 对话框中从列表中选择所需的

配置高级选项

高级选项 区域中,自定义 File Watcher 的默认行为。

  1. 指定将触发 File Watcher 的事件:

    • 要在源代码发生任何更改时立即触发 File Watcher,请选中 自动保存已编辑文件以触发监视器 复选框。

      清除此复选框后,File Watcher 会在保存操作(文件 | 全部保存 )或将焦点从 GoLand 移开(窗体失去焦点)时启动。

      关闭已编辑文件的自动保存
    • 默认情况下,File Watcher 会在任何已保存更改时激活,包括从版本控制系统接收到的更新,例如签出分支时。 要忽略此类更改并仅在您在 GoLand 中更新代码时触发 File Watcher,请取消选中 监听外部更改以触发监视器 复选框。

  2. 指定是否希望 File Watcher 与 GoLand 的语法解析器交互:

    • 选中 忽略语法错误也触发监视器 复选框后,File Watcher 会在文件语法是否正确的情况下都执行。 File Watcher 会在更新、保存或窗体失焦时启动,具体取决于 自动保存已编辑文件以触发监视器 复选框的状态。

    • 取消选中 忽略语法错误也触发监视器 复选框后,File Watcher 会忽略语法无效的文件中的所有触发器,仅在无错误的文件中启动。

  3. 使用 从 stdout 创建输出文件 复选框,指定如何生成输出文件。

    • 选中该复选框时,GoLand 会读取原生工具的输出 标准输出流(stdout) ,并据此生成结果文件。

    • 取消选中该复选框时,工具会将输出直接写入 需要刷新输出路径 字段中指定的文件。

  4. 显示控制台 列表中选择在何时打开控制台。

    • 始终: 启用此选项后,工具执行完成后控制台总是会打开。

    • 出错时: 启用此选项时,仅当 Exit code0 不同时,工具执行后才会打开控制台。

    • 从不: 选择此选项可完全禁止打开控制台。

在编辑器中显示文件监视器报告的信息

如果在 File Watcher 中配置的工具报告了与您的代码相关的错误或警告,并附有文件及具体行号的链接,您可以在编辑器中直接查看这些信息:

  • 设置 | 编辑器 | 检查 中,启用检查 文件监视器问题

  • 编辑监视器 对话框的 输出过滤器 字段中,描述您要匹配的输出格式。 为此使用宏 $FILE_PATH$$LINE$$MESSAGE$。 请避免在 \ 中使用括号、点等特殊符号。 与 $MESSAGE$ 宏匹配的文本将在编辑器中显示。

保存、启用和禁用文件监视器

保存新的 File Watcher 后,您可以选择仅在当前项目中可用(从 项目 下拉列表中选择 级别 ),或在所有项目中可用(选择 全局)。

全局文件监视器
  • 要启用或禁用 File Watcher,请打开 设置 对话框(Ctrl+Alt+S ),转到 工具 | 文件监视器 ,然后勾选或取消勾选旁边的复选框。

  • 当您打开一个适用于某个预定义 File Watcher 的文件时,GoLand 会建议启用该 File Watcher:

    编译 Less 至 CSS:从编辑器中的窗格创建文件监视器

    border-effect="line" />

  • 启用 File Watcher 后,只要所选类型和作用域的文件被更改或保存,它就会自动开始运行,详见 配置高级选项

  • File Watcher 运行期间如果出现错误,将自动被禁用。 要恢复状态,请手动启用 File Watcher。

保存时自动运行文件监视器

您可以将 IDE 配置为在您的更改被 保存 时,自动在已修改的文件中运行 File Watcher。

  1. Ctrl+Alt+S 打开设置,然后选择 工具 | 保存时操作

  2. 启用 File Watcher 选项并应用更改。

为新项目启用全局文件监视器

全局 File Watcher 可在您将来创建的所有新项目中自动启用。

  • 打开 新项目设置 对话框(文件 | 新项目设置 | 新项目的 设置 ),转到 工具 | 文件监视器 ,然后选中所需 File Watcher 旁的复选框。

  • 或者,在 欢迎界面 ,从 设置配置 列表中选择。 在打开的对话框中,选中相关 File Watcher 旁的复选框。

文件监视器故障排除

可能会显示一个弹出窗口,包含错误消息并告知该 File Watcher 已被禁用

以下是可能的错误列表:

报告的问题

问题描述

解决方法

Unknown Scope error

File Watcher 使用了当前项目中未定义的作用域。

双击该 watcher,选择一个可用作用域或创建一个新作用域。

Invalid executable

项目使用了已被移除的全局 File Watcher。

使用 移除 按钮 移除 从列表中删除该 watcher,或编辑它以创建一个具有相同名称的新全局 watcher。

GoLand 运行了多个相同的 File Watcher 任务

在进行如从 VCS 批量更新的操作后,GoLand 会为每个保存的文件执行一个单独的 File Watcher 任务。

参数 字段中添加文件专属的宏(例如 &FileNameWithoutExtension& ),详见 配置与外部工具的交互

技巧与提示

将 gofumpt 配置为文件监视器

  1. Ctrl+Alt+S 打开设置,然后选择 工具 | 文件监视器

  2. 点击 添加 按钮(添加按钮 )以添加新 File Watcher,并选择 gofumpt

  3. 点击 确定 保存新的 watcher。

    将 gofumpt 配置为文件监视器
最后修改日期: 2025年 9月 26日