首页 > 解决方案 > Eclipse CDT 宏自动格式化

问题描述

我正在使用 TrueSTUDIO 9.1.0,并且还在针对 C/C++ 开发人员版本的新 Eclipse IDE 中对其进行了测试:2018-09 (4.9.0)。

自动代码格式化程序似乎将分号放在新行上的宏调用之后。

重现步骤:

  1. 下载适用于 C/C++ 开发人员的 Eclipse IDE 版本:2018-09 (4.9.0),适用于 Windows 32 位。

  2. 创建新的空 C 项目

  3. 使用代码创建 .c 文件:

    #define testmacro() do {printf("test");} while (0)

    void main(void) { testmacro(); }

  4. 按 Ctrl+Shift+F 格式化整个文件

  5. 得到:

    #define testmacro() do {printf("test");} while (0)
    void main(void) { testmacro() ; }

由于已修复,因此在此问题(链接)中对其进行了讨论和驳回。

我做错了什么还是错误又回来了?

标签: ceclipsemacroseclipse-cdtcode-formatting

解决方案


我认为您没有做错任何事情,CDT 内置格式化程序只是错误且未维护。有几十个关于其行为的开放错误。在这种情况下,它看起来像错误 475349

我建议使用一个插件,该插件包含一个现代的、维护的格式化程序clang-format,例如CppStyle


推荐阅读