支持CMake

CMake 依然是与 CLion 集成最深的项目模型:

CMake 项目

打开 CMake 项目

无需 额外配置,即可轻松在 CLion 中打开基于 CMake 的项目:

  • 将它指向您的项目源中的根 CMakeLists.txt 文件,或者
  • 将其指向已有的生成文件夹或 CMakeCache.txt 文件(仅适用于 Makefiles 生成器)。

将目录标记为

如果您希望手动将目录标记为库或项目源/头文件,或者剔除部分目录(比如来自 CMake 项目结构的独立性),那么您可以使用将目录标记为功能。这将影响创建索引(比如您可以删除创建索引的过程中产生的建构目录、二进制文件、日志和生成的数据),以及代码生成、重构和导航。查看更多详情。

CMake 环境变量补全

检测 CLion

若您需要检测项目中的 CMake 命令是否是从 CLion 运行的(在这种情况下请设置 特别的变量/路径或执行额外脚本),那么请使用 CLION_IDE 环境变量。为了让您更方便地找到它,CLion 提供了环境变量自动补全功能。

添加/删除文件

添加新文件时,CLion 会建议将其加入 CMake 目标。

删除项目中的文件时,CLion 会删除命令参数中的文件引用,或者在删除后警告可能出现的错误命令。

CMake 项目

导入项目

您也可以导入非 CMake 项目 (File | Import Project...),CLion 可以对此生成 CMakeLists.txt 文件。

CMake 生成器

对 CMake File API 的支持使 CLion 能够使用多个 CMake 生成器。用户可以选择 Ninja、Xcode、Visual Studio 等。在远程模式下并借助 WSL,此功能适用于所有平台。

了解详情

CMake 配置

CMake 配置文件

您可以通过 CMake 配置文件 (Build, Execution, Deployment | CMake) 来管理 CMake 生成目录、CMake 配置类型、CMake 选项和环境变量等等。

从头创建任意数量的 CMake 配置文件,或者复制已有的文件(预先配置完毕)。将您的项目构建配置存储在新的通用 CMake 预设中,CLion 将自动检测必要的 CMake 预设并将其导入 CMake 配置文件。

在工具栏中的运行配置切换器中或者在 Run (Shift+Alt+F10)/Debug (Shift+Alt+F9) 配置切换器弹出窗口中切换不同的 CMake 配置文件。

CMake 工具窗口和 CMake 缓存

CMake 工具窗口包含 CMake 输出日志,可用来追踪进度和调试 CMake 脚本。

现在,您可以在 Settings | Build, Execution, Deployment | CMake(设置 | 构建、执行、部署 | CMake)下的单个表式 UI 中检查 CMake 缓存变量和更新传递到 CMake 命令的 CMake 选项。

当表处于焦点时,开始输入即可搜索变量或其值。 CLion 还会在 CMake 缓存变量的工具提示中显示简短描述。

CMake 菜单

前往Tools | CMake 查看实用的 CMake 操作:

  • Reload CMake Project 可以用来应用 CMake 的最新改动,并强制 CLion 重新加载项目,从而在编辑器中反应出这种变化(可以 在 Build, Execution, Deployment | CMake 设置中自动重新载入)。
  • 假如您的项目根目录与最顶级 CMakeLists.txt 文件所处的目录 不一致,那么您可以使用 Change Project Root。
  • Reset Cache and Reload Project 可以让您在不丢弃所有 IDE 索引和缓存的情况下清理 CMake 缓存。

CMake 智能支持

CMake 注释

在 CMake 中的 Rename

如果您在 CMake 中使用 Rename 重构 Shift+F6 来更改用户符号的名称(比如函数或宏),那么将自动更新所有用法。

CMake 安装

如果您的项目中有任何 CMake 安装目标,那么您可以从 CLion 的 Run 菜单中调用安装。此时将执行 CMake 安装命令。另外,您还可以在 CLion 中向任意运行配置中添加安装步骤。

CMake 注释

CMake 注释

CLion 支持 CMake 3 括号参数和代码块注释语法。要在 CMake 中快速添加 注释,您无需选择,只要把脱字符号放到它上面,然后按下 Ctrl+/ 即可。要为代码块添加注释,请将其选中并按 Ctrl+Shift+/。

CMakeLists.txt 中的代码辅助

CLion 中的 CMake 文件编辑器可以帮助您更轻松地编辑 CMakeLists.txt 文件。包括:

  • CMake 字体和颜色设置。
  • 在 CMake 中展开和收起各种代码区域的功能。
  • 针对 CMake 命令和变量的代码补全。
  • 针对与 CMake 捆绑的软件包的 find_package 的代码补全。
  • 代码补全中的 CMake 命令文档。
  • CMake 结构视图。
  • 针对 CMake 中已弃用命令的划线高亮显示。
CMake 补全、代码生成和自动操作

CMake 中的代码生成

在 CMake 中创建场景使用的代码或自定义代码结构,或者使用实时模板重复利用它们。选择预定义模板或创建自己的模板。

要使用模板,请输入它的缩写(同样支持自动补全),然后按 Tab(或您配置的任何非默认键)展开模板。

编辑完成后,将出现一个横幅,显示您可以在哪里手动加载当前项目, 或者在每次编辑时开启自动重新加载。

CMake 中的“快速文档”

CMake 中的“快速文档”

CMake 脚本中现在提供 Quick Documentation(快速文档)弹出窗口。文档针对标准 CMake 实体显示:

  • 命令
  • 策略
  • 模块
  • 变量
  • 属性

文档始终对当前捆绑的 CMake 版本呈现,暂时不适用于用户定义的实体。

CMake 调试

CMake 调试器

由于 CMake 是一种构建系统的语言,在 CMake 脚本中调查错误和捕获可疑行为有时可能较为困难。您可以在 CLion 中将 CMake 脚本作为常规代码调试。设置断点、逐步执行代码并监视 CMake 变量和目标。了解详情

CMake 分析

CMake 分析

您可以在 CLion 中目视检查为什么重新加载您的 CMake 项目需要很长时间。从 CMake 3.18 开始,在 CMake 设置中可以启用新的跟踪。 CLion 将帮助您运行跟踪并呈现结果。了解详情。