GoLand 2026.2 Help

文件监视器

文件监视器 是 一个 GoLand 的工具,允许您在 IDE 中更改或保存文件时自动运行命令行工具,例如编译器、格式化工具或代码检查工具。

文件监视器有两个专用的 代码检查:

  • 每个预定义的 File Watcher 适用的文件中都会运行 可用的 File Watcher检查。 如果项目没有配置相关的文件观察器,GoLand 建议添加一个。

  • 由正在运行的 File Watcher 调用的 File Watcher problems检查会突出显示特定于它的错误。

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

文件监视器模板

有关特定工具的文件监视器的更多信息,请参阅相应页面:

请注意,在 GoLand 中使用其中的一些工具需要您在 设置 | 插件 页面上安装插件,如 从 JetBrains Marketplace 安装插件中所述。

创建文件观察器

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

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

    文件监视器模板

    新建 Watcher 对话框打开。

  3. 在 名称 字段中,输入文件监视器的名称。 默认情况下,GoLand 会建议选定的预定义模板名称。

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

请使用 要监视的文件 区域的控件定义您想要应用文件监视器的文件作用域。

  1. 从 文件类型 列表中选择预期类型的输入文件。 文件监视器将只考虑这种类型的文件作为分析和处理的对象。 文件类型基于 文件类型与文件扩展名之间的关联进行识别。

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

  2. 请选择适用文件监视器的 范围。

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

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

    从列表中选择一个预定义作用域。 对于项目级文件监视器,您也可以点击 “浏览”按钮 ,在打开的 作用域 对话框中配置自定义作用域。

    • 所有位置: 下述所有作用域。

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

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

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

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

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

    • 当前文件: 在活动编辑器选项卡中打开的文件。

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

    • 默认更改列表: 与变更列表相关的所有文件  默认.

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

    有关更多信息,请参阅 范围。

配置与外部工具的交互

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

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

  2. 在 参数 字段中,定义传递给工具的参数。

    参数通常使用 宏指定,例如, $FileName$ 或 $FileNameWithoutExtension$ ,这些将被替换为实际的文件名。

    手动键入宏或点击 插入宏图标 ,然后在打开的 宏 对话框中从列表中选择相关模式。

  3. 在 要刷新的输出路径 字段中,指定工具存储其输出结果的文件:生成的源代码、源地图和依赖项。 基于这些设置,GoLand 识别通过编译生成的文件。

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

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

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

  5. 定义环境变量。 例如,为 您 正在配置但路径中未引用的工具指定 PATH 变量,其中包含启动该工具所需的工具。

  6. 在 工作目录 字段中,指定工具将应用到的目录。

    因为该工具总是在文件的上下文中调用,所以默认工作目录是当前文件所在的目录。 所有预定义模板中都用 $FileDir$ 宏指定了默认工作目录。 若要指定自定义工作目录,请在字段中键入路径,或点击 浏览图标 并在 选择路径 对话框中选择目录,或点击 插入宏图标 并从 宏 对话框的列表中选择所需的 宏。

配置高级选项

在 高级选项 区域,定制 File Watcher 的默认行为。

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

    • 若要在对源代码进行任何更改后立即调用 File Watcher,请选中 自动保存已编辑的文件以触发监视器 复选框。

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

      自动保存已编辑文件关闭
    • 文件监视器默认在任何已保存的更改时唤醒,包括当您从版本控制系统收到更新时,例如检出分支。 要忽略此类更改并仅在您更新 GoLand 中的代码时调用 Watcher,请取消选中 在外部更改时触发监视器 复选框。

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

    • 当选中 触发监视器,即使存在语法错误 复选框时,文件监视器会在文件语法正确与否的情况下启动。 文件监视器将根据 自动保存已编辑的文件以触发监视器 复选框的状态在更新、保存或框架停用时启动。

    • 当清除 触发监视器,即使存在语法错误 复选框时,文件监视器会忽略语法无效文件中的所有触发器,仅在无错误的文件中启动。

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

    • 当选中复选框时,GoLand 会读取本机工具的输出 standard output stream (stdout) 并生成结果文件。

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

  4. 在 显示控制台 列表中,选择您希望 File Watcher 何时打开控制台。

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

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

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

在编辑器中显示由 File Watcher 报告的信息

如果 File Watcher 中配置的工具报告了包含文件和特定行链接的代码错误或警告,您可以在编辑器中直接查看此信息:

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

  • 在 输出过滤器 字段中, 编辑观察器 对话框描述您想匹配的输出格式。 请使用宏 $FILE_PATH$、 $LINE$ 和 $MESSAGE$。 您需要避免使用像大括号和点这样的特殊符号 \。 与 $MESSAGE$ 宏匹配的文本将显示在编辑器中。

保存、启用与禁用 File Watchers

保存新的文件监视器后,您可以决定它是仅在当前项目中可用(从 级别 列表中选择 项目 )还是对所有项目可用(选择 全局)。

全局文件监视器
  • 要启用或禁用文件监视器,请打开 设置 对话框(Ctrl+Alt+S ),转到 工具 | 文件监视器 ,并选中或清除其旁边的复选框。

  • 当您打开一个适用于预定义文件监视器的文件时,GoLand 会建议启用文件监视器:

    将 Less 编译为 CSS:从编辑器窗格中创建一个 File Watcher
  • 启用 File Watcher 后,只要选定作用域内的选定类型文件被更改或保存,它就会自动启动,详见 配置高级选项。

  • 如果在 File Watcher 运行时发生错误,File Watcher 会自动停用。 若要恢复状态,请手动启用 File Watcher。

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

您可以配置 IDE 在修改的文件中自动运行文件监视器,当您的更改 已保存时。

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

  2. 启用 文件关注者 选项并应用更改。

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

Global 文件监视器可以在您将来创建的所有新项目中自动启用。

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

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

文件监视器故障排除

可能会显示一个弹出窗口,带有错误消息,同时通知您文件监视器已被禁用。

这里是可能出现的错误列表:

已报告的问题

问题描述

解决方法

Unknown Scope error

文件监视器使用在此项目中未定义的作用域。

双击观察器并选择可用的作用域或创建一个新的。

Invalid executable

该项目使用了一个已被删除的全局 File Watcher。

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

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

在进行批量更新之后,例如来自您的 VCS,GoLand 会为每个保存的文件运行一个单独的 File Watcher 任务。

在 参数 字段中添加文件特定的宏(如 &FileNameWithoutExtension&), 请参阅 配置与外部工具的交互。

提示与技巧

配置 gofumpt 作为文件监视器

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

  2. 单击 添加 按钮(添加按钮 )以添加新文件监视器,并选择 gofumpt。

  3. 单击 确定 以保存新监视器。

    配置 gofumpt 作为文件监视器
2026年 7月 14日