一个 VS Code 插件 (cc-format):让你的 CMake 代码拥有 CLion 般的格式化体验

99 阅读2分钟

开源小工具:clion-cmake-formatter (简称 cc-format)。

问题背景

许多 C++ 开发者日常工作中需要在 CLion 和 VS Code 之间频繁切换。在这个过程中,一个常见的痛点是:CMake 文件的格式化不统一。

CLion 自带的 CMake 格式化风格简洁优雅,但在 VS Code 里很难找到完全一致的替代品。现有的插件大多依赖 Python 的 cmake-format,风格配置起来繁琐,且很难和 CLion 保持完全一致。这导致在两个编辑器之间切换时,经常因为格式化产生不必要的 Git diff,影响代码审查效率。

为了解决这个普遍的问题,我编写了 cc-format。

它是什么?

这是一个纯 TypeScript 编写的 CMake 格式化工具,旨在尽可能精确地复刻 CLion 的格式化逻辑。 它包含三部分:

  1. VS Code 插件:可以在 VS Code 里直接使用,支持保存自动格式化。
  2. 可视化配置编辑器:打开 .cc-format.jsonc 配置文件时,提供友好的图形界面编辑器,左侧配置选项面板、右侧实时代码预览,直观展示每个配置如何影响格式化结果。config-editor.png
  3. CLI 工具:可以通过 npm 安装 (npm install -g cc-format),方便集成到脚本或 CI 中。

特色优势

  • 轻量级:完全不依赖 Python 环境,安装即用,不占系统空间。
  • CLion 级别的格式化:通过大量的单元测试和与 CLion 实际输出的对比测试,确保格式化结果的精准还原。
  • 可视化配置界面:无需手动编辑配置文件,打开 .cc-format.jsonc 时自动提供可视化编辑器,左侧选项面板、右侧实时预览,所见即所得,不用反复尝试猜测配置效果。
  • 开箱即用且可定制:支持项目级别的配置文件 (.cc-format.jsonc),既能开箱即用,也能灵活定制。

适用场景

这个项目专门为"在 VS Code 里希望获得 CLion 级别的 CMake 格式化体验"的开发者而设计。如果你是一位:

  • 频繁在 CLion 和 VS Code 之间切换的开发者
  • 希望保持统一的代码格式风格的团队领导者
  • 想要轻量级 CMake 格式化解决方案的 CI/CD 工程师

那么 cc-format 值得一试。目前插件还在持续改进中,如果在使用过程中遇到 Bug 或发现和 CLion 格式化不一致的地方,欢迎来 GitHub 提交 Issue,我会积极修复。

项目地址与资源

如果感兴趣,可以通过以下链接了解和使用 cc-format:

期待你的反馈~