当您在IDE中更改或保存文件时,使用File Watcher,您可以自动运行命令行工具,例如编译器,格式化程序或linters。
CLion 最新版本2019.3 速度高达加入了基于Clangd提供商代码完成,消除了各种UI冻结,并介绍了许多其他的性能改进。它增强了与CMake的集成,增加了Ninja生成器支持,并提供了代码覆盖范围和WSL2支持。调试器支持已在很多方面得到了显着改善。最后,对C ++ 20的Concepts的支持包括重构,导航和代码完成。戳此处查看更新详情>>
Clion最新版本2019.3
文件监视程序具有两个专用的代码检查:
-
该文件可用的观察者检查每一个文件,其中一个预定义的文件Watcher是适用的运行。如果项目没有配置相关的File Watcher,则CLion建议添加一个。
-
该文件观察者问题的检查是通过运行文件看守,并强调错误特定于它的调用。
您可以使用可用模板之一,也可以从头开始配置File Watcher。可以将配置的File Watcher保存在您的项目设置或IDE设置中,并在不同的项目中使用。
-
当您打开适用于预定义File Watcher的文件时,CLion将显示一个窗格,建议您激活该窗格。

单击“ 是”以使用默认配置激活File Watcher。
-
如果单击No,则CLion认为建议的File Watcher被禁止。您仍然可以按照下面的“ 创建File Watcher”中的说明手动创建和启用它。
在你开始前/strong>
在“ 插件”页面上安装并启用File Watchers插件 。
创建File Watcher
-
在“设置/首选项”对话框中Ctrl+Alt+S,单击“ 工具”下的“ File Watcher ” 。将打开“ File Watcher”页面,其中显示了已在此项目和IDE中配置的文件监视程序的列表。
-
单击
并选择您要从其创建File Watcher的预定义模板。选择取决于要使用的工具。要使用不在列表中的工具,请选择自定义。将打开“ 新建监视程序”对话框。
-
在名称字段中,输入File Watcher的名称。默认情况下,CLion会建议选定的预定义模板的名称。
配置输入文件的预期类型和位置/strong>
使用“要监视的文件”区域中的控件来定义要在其中应用文件监视程序的文件范围。
1、从文件类型列表中,选择输入文件的预期类型。 File Watcher仅将此类文件视为分析和处理的主题。基于文件类型和文件扩展名之间的关联来识别 文件类型。
默认情况下,该字段显示根据所选预定义模板的文件类型。
2、选择适用于文件监视程序的范围。
从列表中选择一个预定义的范围。对于项目级File Watcher,还可以

或者,在打开的“ 范围”对话框中单击

-
所有地点:下面列出的所有范围。
-
项目文件:项目根目录中的所有文件。
-
临时和控制台:位于“ 项目”工具窗口中的临时和控制台目录中的 所有文件 。
3、可选:指定您希望文件监视程序如何处理依赖项。 甲根文件是不包含文件(例如通过import在任何其他文件) 在规定范围内。
请注意,
-
要仅对根文件运行File Watcher,请选中“ 仅跟踪根文件”复选框。
-
清除复选框以针对从其调用文件的文件以及在指定范围内递归包含此文件的所有文件运行File Watcher。
请注意“ 作用域”设置会覆盖“ 仅跟踪根文件”复选框设置:如果依赖项不在指定的作用域内,则不会对其应用文件监视程序。
此选项仅适用于Babel,Closure Compiler, Compass,Jade, Less,Sass / SCSS, Stylus,UglifyJS和YUI Compressor JS。
配置与外部工具的交互/strong>
1、在“ 更改时运行工具”区域中,指定要使用的工具,要传递给它的参数,预期的输出文件类型,等等。
在“ 程序”字段中,指定工具可执行文件的路径(.exe,.cmd,.bat或其他取决于特定工具的路径)。
-
要使用程序文件名而不是其完整路径,请将其路径添加到系统环境变量PATH中。
-
在Windows上,您可以跳过 .com,.exe,.cmd或 .bat扩展名。
-
要使用jar档案,请指定其绝对路径。或者,要使用相对路径,请将其父文件夹添加到CLion路径变量 上 在 外观和行为| CLion设置的“ 路径变量”页面 Ctrl+Alt+S。
2、在“ 参数”字段中,定义要传递给工具的参数。
参数通常使用宏指定,例如$FileName$或$FileNameWithoutExtension$,这些宏将替换为实际的文件名。
手动键入宏,或单击“ 插入宏”,然后从打开的“ 宏”对话框中的列表中选择相关的模式。
3、在“ 要刷新的输出路径”字段中,指定工具存储其输出的文件:生成的源代码,源映射和依赖项。根据这些设置,CLion会识别通过编译生成的文件。
请注意,更改“ 输出路径以刷新” 字段中的值不会使该工具将其输出存储在其他位置。如果仍然需要这样做,请在“ 参数”字段中指定所需的自定义输出位置 :键入以冒 作为分隔符的输出路径,并使用宏。
通常使用宏指定输出路径。手动输入路径,或单击“ 插入宏”, 然后从列表中选择相关的模式。
4、展开工作目录和环境变量隐藏区域。
5、定义环境变量。例如,PATH为启动您正在配置的工具所需的工具指定变量,但在该变量的路径中未引用该变量。在大多数情况下,它是Node.js或ruby.exe。这种情况可能是由于自定义手动安装,而不是通过Node Package Manager(npm)或gem Manager安装。
6、在“ 工作目录”字段中,指定工具将应用到的目录。
因为该工具始终在文件的上下文中调用,所以默认的工作目录是当前文件的目录。通过$FileDir$宏在所有预定义模板中指定了默认工作目录。要指定自定义工作目录,请在字段中键入该目录的路径,或者
在“ 选择路径”对话框中单击 并选择目录 ,或者单击“ 插入宏”,然后 从“宏”对话框的列表中选择所需的宏。
如果将“ 工作目录”字段保留为空,则CLion将使用在其中调用文件监视程序的文件目录。
配置高级选项/strong>
在“ 高级选项”区域中,自定义File Watcher的默认行为。
1、指定将调用文件监视程序的事件:
-
默认情况下,文件监视程序会在任何保存的更改(包括例如当您签出分支时从版本控制系统收到的更新)时唤醒。要忽略此类更改并仅在CLion中更新代码时调用文件监视程序,请清除“ 在外部更改时触发监视程序”复选框。
2、指定是否要让File Watcher与CLion语法解析器进行交互:
-
清除 “ 触发器观察程序,无论语法错误”复选框后, File Watcher会忽略语法上无效的文件中的所有触发器,并且仅在无错误的文件中启动。
3、使用“ 从stdout创建输出文件”复选框可以指定要如何生成输出文件。
-
选中该复选框后,CLion会读取本机工具的输出 standard output stream (stdout)并从中生成结果文件。
-
清除该复选框后,该工具会将其输出直接写入“ 要刷新的输出路径”字段中指定的文件。
4、在“ 显示控制台”列表中,选择希望文件监视程序打开控制台的时间。
-
始终:使用此选项,控制台始终在工具执行完成后打开。
-
错误时:使用此选项,仅当Exit code不同于时,控制台在工具执行后打开 0。
-
永不:选择此选项可完全禁止打开控制台。
保存,启用和禁用File Watcher/strong>
保存新的File Watcher后, 您可以决定是否仅在当前项目(从“ 级别”列表中选择“ 项目 ” )或所有项目(选择“ 全局”)中可用。

-
要启用或禁用文件监视程序, 打开 在设置/首选项对话框中Ctrl+Alt+S,转到工具| File Watchers,然后选择或清除它旁边的复选框。
启用File Watcher后,一旦选定类型的文件以及选定范围内的文件被更改或保存,它将自动启动。
如果在运行文件监视程序时发生错误,则会自动禁用文件监视程序。要恢复状态,请手动启用File Watcher。
为新项目启用全局File Watcher/strong>
可以在将来创建的所有新项目中自动启用全局文件监视程序。
-
打开“新项目的设置”对话框(“ 文件” |“新项目的设置”),转到“ 工具” | “新项目” 。File Watcher,然后选中所需文件监视程序旁边的复选框。
-
或者,在“ 欢迎屏幕”上,从“ 配置”列表中选择“设置”。在打开的对话框中,选中相关文件监视程序旁边的复选框。
对File Watcher进行故障排除/strong>
在“首选项/设置” | “列表”中的“File Watcher”旁边可能会出现红色错误消息。

以下是可能的错误列表:
告的问题 |
问题描述 |
解决方法 |
Unknown Scope error |
File Watcher使用此项目中未定义的范围。 |
双击监视程序并选择一个可用的作用域或创建一个新的作用域。 |
Not found error |
该项目使用已删除的全局File Watcher。 |
使用“ 删除”按钮从列表中删除监视程序, |
CLion运行许多相同的File Watcher任务 |
例如,从VCS进行批量更新后,CLion为每个保存的文件运行一个单独的File Watcher任务。 |
&FileNameWithoutExtension&在Arguments字段中添加特定于文件的宏 |
=====================================================
更多关于CLion的教程、资源敬请关注我们即将推出的后续教程哦~
想要购买Clion正版授权的朋友欢迎咨询官方客服。

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!