Windows 11 CLion C++ Dev Container 开发环境配置

简介

CLion 是 JetBrains 推出的 C/C++ IDE, 目前支持 Linux, macOS 以及 Windows 系统. CLion 提供了强大的代码编辑, 代码导航, 代码重构, 代码分析, 代码调试, 单元测试等功能, 是 C/C++ 开发的首选 IDE 之一.

本教程主要介绍如何在 Windows 11 系统上使用 CLion + Dev Container 进行 C/C++ 开发. 包含运行, 测试, 以及覆盖率.

CLion 是收费软件, 但是学生可以免费使用. 具体可以参考: CLion for Students

环境要求

CLion Dev Container 样例

  1. 下载示例代码:git clone https://gitee.com/aronic/cmake-project-2024.git

  2. 使用 CLion 打开文件夹cmake-project-2024

  3. 打开.devcontainer/devcontainer.json文件. 点击左上角图标并选择Create Dev Container and Mount Sources....

    Open Dev Container
  4. 此时 CLion 会自动构建 Docker 镜像, 并且启动容器.

    Loading Dev Container
    Dev Container
  5. 完成后, 会自动打开 CLion IDE.

配置 CMake Preset

  1. 选择File->Settings->Build, Execution, Deployment, 对linux-base设置为Enable Profile

    Preset

    注意此处需要将默认的DebugEnable Profile选项勾掉.

  2. 打开src/main.cpp, 选择点击 Run main

    Run
  3. 查看运行结果

    Run Result

运行测试

  1. 打开src/sample_test.cpp, 点击 Run SampleTest.TestIsTriangle

    Run Test
  2. 查看测试结果

    Test Result

覆盖率分析

  1. 设置编译器选项.
# add coverage test
add_compile_options(-fprofile-arcs -ftest-coverage)
add_link_options(-fprofile-arcs -ftest-coverage)
  1. 在 ide 的测试 case 中选择Run with Coverage来运行测试.

    Run with Coverage
  2. 在 ide 的测试 case 中选择Show Coverage Data来查看覆盖率.

    Coverage Result

    可以看到行覆盖率是 100%, 分支覆盖率是 80%, 因为第 6 行的if语句中, b <=0c <= 0的分支没有覆盖到.

其他

关于 VS Code 使用 Dev Container 的教程可以参考我的博客: VS Code Dev Containers 使用教程

参考

  1. CLion CMake Presets
  2. Code Coverage