【问题标题】:Doxygen: Recognize all c++ commentsDoxygen:识别所有 c++ 注释
【发布时间】:2018-06-24 05:28:16
【问题描述】:

我有一个(已完成的)项目,我为其生成 Doxygen 文档。

问题是,这些 cmets 是标准的 c++ cmets - 没有特殊的 doxygen cmets。它们看起来像这样:

// This is a class.
class C
{
   // This is a method
   public: void f();   
};

那么有没有办法将 DoxyGen 配置为使用所有 cmets?如果没有,是否有可以解析代码并将 cmets 转换为 DoxyGen-Comments 的工具?

【问题讨论】:

    标签: c++ comments doxygen


    【解决方案1】:

    您可以用正则表达式替换 cmets。如果您仅将 // 用于 cmets 而不是在像 "Hallo//ABC" 这样的字符串文字中,您可以通过 /** $1 */ 搜索和替换模式 /\/\/(.*)$/gm。查看https://regexr.com/3j7lc的示例

    Notepad++ 等一些文本编辑器支持正则表达式搜索和替换。

    要仅搜索在// 之前没有某些文本的行,您可以使用/^(\s*)\/\/(.*)$/gm。替换模式看起来像$1/** $2 */

    【讨论】:

    • 使用正则表达式基本上是个好主意。但我不能保证在代码中没有任何地方使用“//”来表示与评论不同的东西。也许只对源文件这样做,并且只有当“//”位于行首时才会是一种安全的策略。您知道仅在行首识别“//”的正则表达式吗?
    • 插入符号 (^) 通常表示正则表达式中的行首。
    • @charly_b 查看我的编辑
    猜你喜欢
    • 1970-01-01
    • 2021-08-14
    • 2012-11-06
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 2014-05-28
    • 2023-03-27
    • 2019-02-13
    相关资源
    最近更新 更多