【问题标题】:Doxygen: Is it possible to strip namespace names in CHM index?Doxygen:是否可以在 CHM 索引中去除命名空间名称?
【发布时间】:2017-11-24 10:26:01
【问题描述】:

我正在开发一个广泛使用命名空间和 doxygen 的 C++ 项目。由于各种原因,我更喜欢使用 MS HHC 编译的 CHM 文件而不是 HTML 目录。其中之一是 CHM 查看器中非常方便的索引搜索。

但是索引中的调用名称总是以它们的命名空间为前缀,这迫使 CHM 文件的用户在搜索中输入 Namespace::Sub-Namespace::[...]::ClassName。

关于这个,我在doxygen配置文件中更改了以下设置(参考工具自带的默认设置):

SHOW_NAMESPACES        = NO
HIDE_SCOPE_NAMES       = YES

这会删除除 CHM 索引之外的所有名称空间名称。 (如何)是否也可以摆脱 CHM 索引中的命名空间前缀?

【问题讨论】:

    标签: c++ doxygen chm


    【解决方案1】:

    据我所知并尝试了一个小型 C# 项目,答案是 - 不。

    我在这个阶段看到的一个解决方案是编辑生成的 index.hhk 并由 HTMLHelp Workshop 再次编译。请查看您的 index.hhk,您可以在 Doxygen HTML 输出子文件夹中找到。

    index.hhk 文件是一个文本文件,可以被任何文本编辑器打开,例如:记事本++。只有一些命名空间,您才能根据需要制作正则表达式并替换例如C_Sharp_CHM:: 如下面的截图所示,没有任何内容。但请小心使用它并在进入生产用例之前尝试。

    如您所见,index.hhk 是一种旧文件格式,而不是现在使用的 HTML。通常每个索引关键字都有一个链接和一个值(请参见屏幕截图,此处编辑文本格式以便更好地阅读)。

    要编译 index.hhp,您需要打开命令提示符,导航到您的输出文件夹并在 Windows 10 计算机上键入 "%programfiles(x86)%\HTML Help Workshop\hhc" index.hhp

    【讨论】:

    • 非常感谢。我怀疑您是对的,但在将您的答案标记为“该”答案之前,我会等待其他答案。目前,只有一个赞成票。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-19
    • 2020-04-20
    • 1970-01-01
    相关资源
    最近更新 更多