CLion 2025.2 Help

支持 C++20 模块

模块是在 C++20 标准中引入的。 它们作为头文件某些用例的替代方案,并有助于在翻译单元之间共享声明和定义。

CLion 从 .ixx .cppm .mxx 文件中收集信息,解析 export module {name} 语句,并在 {name} 和模块文件名之间创建映射。 然后,这些映射会传递给 Clangd 引擎 ,并用于提供代码辅助和高亮功能。

如果您更新了模块代码或重命名了模块,CLion 将自动解析更改。 从模块中收集的信息会在 IDE 重启之间保留。

CLion 对模块的支持已在以下环境中进行了测试:

  • CMake、Ninja 生成器、Visual Studio C++ 工具链。

  • CMake、Visual Studio 生成器、Visual Studio C++ 工具链。

  • CMake、带有编译器标志的 Clang 工具链。

模块的代码洞察

  • CLion 高亮显示模块关键字(importexportmodule):

    模块关键字高亮
  • 补全功能适用于模块中的符号:

    模块符号的补全
  • 您可以使用 Ctrl+B 在模块中符号的声明和定义之间导航:

    模块的导航
  • 查找用法重构 可在模块内部使用。

    还有早期版本的 重命名更改签名提取 重构,这些功能可以跨模块边界工作(目前,它们仅适用于在 CLion 中打开的文件)。

添加模块

在 CLion 中,您可以自动将新模块添加到项目中。

  1. 在项目树中,右键点击要添加模块的文件夹,然后选择 新建 | C++ 模块接口单元

    新建模块菜单
  2. 指定模块名称、其类型(扩展名)以及是否希望 CLion 将新创建的模块添加到现有的 CMake 目标:

    新建模块对话框
  3. 如果您选择了该选项,将在项目树中创建一个新模块,并将其添加到 CMakeLists.txt 脚本中:

    新建模块已创建

    您可以在 设置 | 编辑器 | 文件和代码模板 中编辑 CLion 用于创建模块文件的模板:

    C++ 模块文件模板设置
最后修改日期: 2025年 9月 26日