我正在使用TrueSTUDIO 9.1.0,并且还在用于C / C ++开发人员的新版Eclipse IDE中对其进行了测试:2018-09(4.9.0)。
自动代码格式化程序似乎在换行后的宏调用后加上了分号。
复制步骤:
为Windows 32位下载适用于C / C ++开发人员的Eclipse IDE版本:2018-09(4.9.0)。
创建一个新的空C项目
使用代码创建.c文件:
#define testmacro() do {printf("test");} while (0)
void main(void) {
testmacro();
}
通过按Ctrl + Shift + F格式化整个文件
获取:
#define testmacro() do {printf("test");} while (0)
void main(void) {
testmacro()
;
}
在此问题(link)中对其进行了讨论并予以排除,原因是该问题已得到解决。
我做错了还是错误又回来了?
答案 0 :(得分:2)
我认为您没有做错任何事情,CDT内置的格式化程序只是错误的,无法维护。关于它的行为,存在许多公开的错误。在这种情况下,它看起来像bug 475349。
我建议您使用一个封装了clang-format
之类的现代,维护格式器的插件,例如CppStyle。