Doxygen:是否可以在CHM索引中去除命名空间名称?

时间:2017-11-24 10:26:02

标签: c++ doxygen chm

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

但索引中的调用名称始终以其名称空间为前缀,这会强制CHM文件的用户在搜索中输入Namespace :: Sub-Namespace :: [...] :: ClassName。

关于此,我更改了doxygen配置文件中的以下设置(参考该工具附带的默认设置):

SHOW_NAMESPACES        = NO
HIDE_SCOPE_NAMES       = YES

这将删除除CHM索引之外的所有命名空间名称。 (怎么样)是否有可能摆脱CHM索引中的名称空间前缀?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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

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

index.hhk文件是一个文本文件,可以由任何文本编辑器打开,例如记事本+ +。只有一些命名空间,您可以根据需要制作RegEx并替换例如C_Sharp_CHM::如下面的屏幕截图所示,只有NOTHING。但是在使用生产用例之前,请小心使用它并尝试。

enter image description here

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

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