我正在研究一个广泛使用命名空间和doxygen的C ++项目。出于各种原因,我更喜欢使用MS HHC在HTML目录上编译的CHM文件。其中之一是CHM查看器中非常方便的索引搜索。
但索引中的调用名称始终以其名称空间为前缀,这会强制CHM文件的用户在搜索中输入Namespace :: Sub-Namespace :: [...] :: ClassName。
关于此,我更改了doxygen配置文件中的以下设置(参考该工具附带的默认设置):
SHOW_NAMESPACES = NO
HIDE_SCOPE_NAMES = YES
这将删除除CHM索引之外的所有命名空间名称。 (怎么样)是否有可能摆脱CHM索引中的名称空间前缀?
感谢您的帮助!
答案 0 :(得分:1)
据我所知并尝试过一个小型的C#项目,答案是 - 不。
我在此阶段看到的一个解决方案是编辑生成的 index.hhk ,然后由HTMLHelp Workshop再次编译。请查看您在Doxygen HTML输出子文件夹中找到的 index.hhk 。
index.hhk文件是一个文本文件,可以由任何文本编辑器打开,例如记事本+ +。只有一些命名空间,您可以根据需要制作RegEx并替换例如C_Sharp_CHM::
如下面的屏幕截图所示,只有NOTHING。但是在使用生产用例之前,请小心使用它并尝试。
正如您所看到的,index.hhk是一种旧文件格式,而不是今天使用的HTML。通常,每个索引关键字都有一个链接和一个值(请参阅屏幕截图,此处编辑文本格式以便更好地阅读)。
要编译 index.hhp ,您需要打开命令提示符,导航到输出文件夹并在Windows 10计算机上键入"%programfiles(x86)%\HTML Help Workshop\hhc" index.hhp
。