Eclipse CDT宏自动格式化

Eclipse CDT macro automatic formatting

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

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

重现步骤:

  1. 下载 Eclipse IDE C/C++ 开发者版本: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() 做 {printf("test");} while (0)<br> 无效主要(无效){ 测试宏() ; }

在这个问题 (link) 中讨论并驳回了它,因为它已修复。

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

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

我建议使用一个插件,它包装了一个现代的、维护好的格式化程序,比如 clang-format,比如 CppStyle