如何在Doxygen中为函数添加右侧属性标签(如static/nothrow)
在Doxygen中添加函数属性侧栏标签的实现方法
Doxygen本身没有原生提供类似Qt文档里的右侧函数属性标签(如nothrow、static)的直接语法,但可以通过自定义命令+CSS样式的组合来实现近似效果:
步骤1:在Doxygen配置文件中定义自定义别名
打开你的Doxyfile,添加自定义命令映射,将注释标记转换为带样式的HTML元素:ALIASES += "nothrow=@par nothrow:\n@htmlonly<span class=\"func-tag nothrow\">nothrow</span>@endhtmlonly" ALIASES += "static=@par static:\n@htmlonly<span class=\"func-tag static\">static</span>@endhtmlonly"步骤2:在代码注释中使用自定义标签
在函数的Doxygen注释里直接调用这些自定义命令:/** * @brief 用于演示的静态函数 * @nothrow * @static */ static void demoFunc() noexcept;步骤3:添加自定义CSS调整显示位置
创建一个CSS文件(比如custom_tags.css),添加样式让标签悬浮在右侧:.func-tag { float: right; margin: 0 0 8px 12px; padding: 2px 6px; border-radius: 4px; font-size: 0.85em; color: #ffffff; font-weight: 500; } .func-tag.nothrow { background-color: #27ae60; } .func-tag.static { background-color: #2980b9; }然后在
Doxyfile中指定这个样式文件:HTML_EXTRA_STYLESHEET = custom_tags.css补充:利用内置标记优化
对于noexcept这类标准属性,Doxygen有内置的@noexcept标记,但默认不会显示为右侧标签,你可以把它也映射到自定义样式里,替换上面的nothrow别名:ALIASES += "noexcept=@par noexcept:\n@htmlonly<span class=\"func-tag nothrow\">nothrow</span>@endhtmlonly"
内容的提问来源于stack exchange,提问作者user1319829
相关产品推荐
相关产品推荐

