WebStorm 2021.1 Help

文件观察者

File Watcher是一个WebStorm 系统,用于跟踪文件更改并运行第三方独立应用程序。WebStorm 为许多此类标准流行的第三方工具(编译器、压缩器、美化工具等)提供了预定义的文件观察器模板。

您还可以配置自定义文件观察器以运行任何其他第三方工具。

文件观察器有两个专门的代码检查

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

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

您可以使用其中一个可用模板或从头开始配置文件观察器。已配置的 File Watcher 可以保存在您的项目设置或 IDE 设置中,并在不同的项目中使用。

  • 当您打开预定义的文件观察器适用的文件时,WebStorm 会显示一个窗格,建议在其中激活它。

    启用文件观察器窗格

    单击Yes以使用默认配置激活 File Watcher。

  • 如果单击No,WebStorm 会认为建议的 File Watcher 被抑制。您仍然可以按照下面的创建文件观察器中的说明手动创建和启用它。

有关特定工具的文件观察器的信息,请参阅相应页面:

请注意,在 WebStorm 中使用其中一些工具需要您在Settings/Preferences |上安装插件。插件页面,如从 JetBrains 存储库安装插件中所述。

在你开始前

确保在Settings/Preferences |上启用了File Watchers插件。插件页面,标签Installed。有关详细信息,请参阅管理插件

创建文件观察器

  1. Settings/Preferences对话框 ( Ctrl+Alt+S) 中,单击Tools下的File WatchersFile Watchers 页面打开,显示已在此项目和 IDE 中配置的 File Watchers 列表。

  2. 单击添加按钮并选择要从中创建文件观察器的预定义模板。选择取决于您要使用的工具。要使用不在列表中的工具,请选择自定义。“新建观察者”对话框打开。

  3. 名称字段中,输入文件观察程序的名称。默认情况下,WebStorm 建议所选预定义模板的名称。

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

使用Files to watch区域中的控件来定义要应用 File Watcher 的文件范围。

  1. 文件类型列表中,选择预期的输入文件类型。File Watcher 将仅将此类文件视为分析和处理的主题。文件类型是根据文件类型和文件扩展名之间的关联来识别的。

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

  2. 选择文件观察器适用的范围

    这些文件中的更改将立即或在保存或帧停用时调用文件观察器,具体取决于自动保存编辑文件的状态以触发观察器复选框。

    从列表中选择一个预定义范围。对于项目级文件观察器,您还可以单击以在打开的“范围”对话框中 浏览按钮配置自定义范围。

    • 所有地方:下面列出的所有范围。

    • 项目文件:项目内容根目录中的所有文件(请参阅 配置项目结构)。

    • 项目生产文件:项目内容根目录中的所有文件,不包括测试源。

    • 项目测试文件:项目测试源根目录中的所有文件。

    • Scratches and Consoles:位于项目工具窗口中的Scratches and Consoles目录中的所有文件。

    • 打开文件:当前在编辑器中打开的所有文件。

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

    VCS 范围:这些范围仅在您的项目受版本控制时可用。

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

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

    或者,在打开的范围对话框中单击浏览按钮并配置自定义范围。

    有关详细信息,请参阅范围和文件颜色

  3. 可选:指定您希望文件观察器如何处理依赖关系。根文件是在指定范围内的import任何其他文件中不包含(例如 via )的文件。

    • 要仅针对根文件运行文件观察程序,请选中仅跟踪根文件复选框。

    • 清除该复选框以针对调用它的文件以及在指定范围内递归包含此文件的所有文件运行文件观察器。

    请注意,Scope设置会覆盖Track only root files复选框设置:如果依赖项超出指定范围,则不会应用 File Watcher。

配置与外部工具的交互

Tool to run on changes区域中,指定要使用的工具、要传递给它的参数、预期的输出文件类型等。

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

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

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

    手动键入宏或单击并从打开的对话框中插入宏图标的列表中选择相关模式。

  3. 刷新的输出路径字段中,指定工具存储其输出的文件:生成的源代码、源映射和依赖项。基于这些设置,WebStorm 可以识别通过编译生成的文件。

    请注意,更改输出路径以刷新字段中的值不会使工具将其输出存储在其他位置。如果您仍然需要这样做,请在“参数”字段中指定所需的自定义输出位置:键入以冒号作为分隔符的输出路径并使用宏。

    输出路径通常使用宏指定。手动键入路径或单击插入宏图标并从列表中选择相关模式。

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

  5. 定义环境变量。例如,PATH为启动您正在配置的工具但未在其路径中引用的工具指定变量。在大多数情况下,它是Node.jsruby​​.exe。这种情况可能是由于自定义手动安装而不是通过 Node Package Manager (npm) 或gem manager安装造成的。

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

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

配置高级选项

在“高级选项”区域中,自定义文件观察器的默认行为。

  1. 指定将调用 File Watcher 的事件:

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

      清除该复选框后,文件观察器会在保存(文件 | 全部保存)或您从 WebStorm 移动焦点时启动(在帧停用时)。

    • 默认情况下,文件观察器会在任何保存的更改上唤醒,包括在您签出分支时从版本控制系统收到的更新。要忽略此类更改并仅在您在 WebStorm 中更新代码时调用 File Watcher,请清除Trigger the watcher on external changes复选框。

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

    • 选中“不考虑语法错误触发观察程序”复选框后,无论文件的语法正确性如何,文件观察程序都会启动。文件观察器将在更新、保存或帧停用时启动,具体取决于自动保存编辑文件的状态以触发观察器复选框。

    • 清除不考虑语法错误的触发器观察程序复选框后,文件观察程序将忽略文件中语法无效的所有触发器,并仅在无错误文件中启动。

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

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

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

  4. 显示控制台列表中,选择您希望文件观察器打开控制台的时间。

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

    • 出错时:使用此选项,仅当Exit code不同于0.

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

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

如果 File Watcher 中配置的工具通过文件和特定行的链接报告有关您的代码的错误或警告,您可以在编辑器中看到此信息:

  • 设置/首选项 | 编辑 | 检查,启用检查File Watcher Problems

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

例子

该工具以以下格式报告错误:

错误:/Users/Alice/WebstormProjects/angular-app/src/main.ts[6, 27]:“应该是”
使用以下正则表达式作为输出过滤器以查看编辑器中突出显示的错误:
错误:$FILE_PATH$\[$LINE$, $COLUMN$\]:$MESSAGE$

保存、启用和禁用文件观察器

保存新的 File Watcher 后,您可以决定它是仅在当前项目中可用(从Level列表中选择Project)还是对所有项目(选择Global)可用。

全局文件观察器
  • 要启用或禁用文件观察器,请打开设置/首选项对话框 ( Ctrl+Alt+S),转到工具 | File Watchers,然后选中或清除它旁边的复选框。

    启用文件观察器后,一旦所选类型和所选范围内的文件发生更改或保存,它就会自动启动,请参阅配置高级选项

    如果在 File Watcher 运行时发生错误,File Watcher 将自动禁用。要恢复状态,请手动启用文件观察器。

保存时自动运行文件观察程序

您可以将 IDE 配置为在保存更改时自动在修改后的文件中运行文件观察程序。

  1. Ctrl+Alt+S打开 IDE 设置并选择工具 | 保存操作

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

为新项目启用全局文件观察器

可以在您将来创建的所有新项目中自动启用全局文件观察程序。

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

  • 或者,在欢迎屏幕上,从配置列表中选择设置。在打开的对话框中,选中相关文件观察器旁边的复选框。

项目安全

运行文件观察器可能会执行潜在的恶意代码。为避免出现问题,当 File Watcher 唤醒以第一次处理文件时,WebStorm 会显示警告并让您决定如何继续。

不受信任的项目警告

如果您单击Review...,WebStorm 将打开File Watchers页面,您可以在其中调查 File Watcher 的设置并禁用它,这是必要的。

如果单击Skip,WebStorm 将禁用当前项目中的 File Watcher。

要重新启用文件观察器,请打开设置/首选项对话框 ( Ctrl+Alt+S),转到工具 | File Watchers,然后选中File Watcher 旁边的Enabled复选框,有关详细信息,请参阅保存、启用和禁用 File Watchers

受信任的位置

您可以配置 WebStorm 应该认为安全的源并相应地加载它们并运行文件观察程序而不显示通知。从项目安全中了解更多信息。

  1. Settings/Preferences对话框 ( Ctrl+Alt+S) 中,转到Build、Execution、Deployment | 受信任的位置

  2. Trusted Locations页面上,创建您认为受信任的项目所在的本地目录列表。单击确定以保存更改。

    Webpack:受信任的位置

    WebStorm 从这些位置加载项目而不显示任何安全通知。

文件观察程序故障排除

首选项/设置 |列表中的文件观察器旁边可能有一条红色错误消息。工具 | 文件观察者

文件观察程序错误消息

以下是可能的错误列表:

报告的问题

问题描述

解决方法

Unknown Scope error

File Watcher 使用了此项目中未定义的范围。

双击观察者并选择一个可用范围或创建一个新范围。

Not found error

该项目使用已删除的全局文件观察器。

使用Remove按钮从列表中删除观察者,消除或对其进行编辑以创建具有相同名称的新全局观察者。

WebStorm 运行许多相同的 File Watcher 任务

例如,从您的 VCS 进行批量更新后,WebStorm 会为每个保存的文件运行一个单独的文件观察器任务。

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

最后修改:2021 年 11 月 24 日