C++ 如何设置clang格式注释杂注,使多行doxygen注释不';你不会被触碰吗?
我试图将clang格式引入到我们的几个工作项目中(C和C++),但我很难让它以我想要的方式格式化多行Doxygen注释 所有评论的格式相同:C++ 如何设置clang格式注释杂注,使多行doxygen注释不';你不会被触碰吗?,c++,c,doxygen,clang-format,C++,C,Doxygen,Clang Format,我试图将clang格式引入到我们的几个工作项目中(C和C++),但我很难让它以我想要的方式格式化多行Doxygen注释 所有评论的格式相同: /*@简要介绍一些文字 * *更多的文字 * *@逐字逐句 * *一个非常长的文本行,超过了clang格式的列宽,但不应触摸 * *@endverbatim */ 我希望使用clang格式来保留逐字记录块,而不是重新流式处理它们。我使用的是clang-format-6.0 关闭ReflowComments不是一个选项,因为必须按clang格式处理非d
/*@简要介绍一些文字
*
*更多的文字
*
*@逐字逐句
*
*一个非常长的文本行,超过了clang格式的列宽,但不应触摸
*
*@endverbatim
*/
我希望使用clang格式来保留逐字记录块,而不是重新流式处理它们。我使用的是clang-format-6.0
关闭ReflowComments
不是一个选项,因为必须按clang格式处理非doxygen注释
我在CommentPragmas
config项中尝试了各种正则表达式,但没有成功:
将整个verbatim块视为注释pragma。这是理想的情况,正如Doxygen评论的任何其他部分一样,我不介意被分成多行@verbatim(.*\n)*.@endverbatim
将整个注释块匹配为pragma。我还尝试在注释末尾使用任意标记作为块结束标记。这并不理想,因为它不会迫使评论中非逐字逐句的部分符合要求,但如果必须的话,这是一种妥协,我愿意接受@brief(.*\n)+
- 我在其他讨论中看到的各种其他正则表达式,都适合我们的Doxygen标记
//clangformat off
和//clangformat on
,但如果可以的话,我还是想避免使用它,因为:
a) 在整个代码库中添加它们将非常乏味
b) 我将不得不用这些来围绕整个评论,而不仅仅是逐字逐句(我还不知道你是否可以只为多行注释的一部分禁用它-我只成功地使它在整个注释中工作,即使这是可能的,clangformat指令最终也会出现在生成的Doxygen文档中,这是不可接受的)
c) 我真的不喜欢它在代码中的样子
感谢您的帮助。谢谢。也遇到了这个问题,唯一的解决办法是使用
打开/关闭叮当格式
铿锵格式的重复评论倾向于:
- 断开
@页面
,@章节
等标题以及由此生成的链接(在极少数情况下)
- 中断具有特定语法的
@startuml
块
- 逐字中断
@块
请参见MySQL中的用法示例:
更新:
在clang格式本身上提交了功能请求:
您在doxygen或clang编译器中有问题吗?如果doxygen出现问题,请说明您正在使用的doxygen版本,以及您的doxygen配置文件中与默认配置不同的设置(doxygen-x
,适用于较新的doxygen版本)。不,这与doxygen或clang编译器无关。我只想留下我的部分doxygen评论,而不重新格式化它们。Doxygen生成工作正常,目标之一是在运行格式化程序后不影响生成的输出。我试着用这个问题来说明这一点,但如果你认为不是,我可以试着进一步澄清。@albert供你参考,如果你想遵循它,请参阅clang format feature request。谢谢你提供功能请求的链接。到处开/关都很麻烦。我不知道这个命令是什么样子的。不幸的是,它看起来只是“铿锵格式打开”和“铿锵格式关闭”,因此没有像@
这样明确的“命令”设置器,但是当它像@铿锵格式…
那样时,通过@noop
命令很容易重新定义它是doxygen 1.8.17。