如何在Doxygen的Java类列表中隐藏com、token、signer上层包名
解决Doxygen Java类列表隐藏前缀包名的方法
方法一:用
STRIP_FROM_PATH截掉路径前缀
这是最直接的配置项,专门用来移除生成文档时的路径/包前缀。找到你的Doxygen配置文件(一般是Doxyfile),添加或修改:STRIP_FROM_PATH = com/token/signer/注意路径要和你的源码目录结构匹配——如果Java类文件放在
src/com/token/signer/client/...下,就把路径设为src/com/token/signer/。设置后Doxygen会自动把类列表里的包路径前缀去掉,直接显示client/entities/exceptions层级。方法二:用
INPUT_FILTER动态修改包声明
如果方法一不生效(比如包名和目录结构不严格对应),可以写个简单脚本在Doxygen读取源码时替换包名:- 新建一个Python脚本(比如
strip_package_prefix.py),内容如下:import sys import re for line in sys.stdin: # 替换com.token.signer开头的包声明 line = re.sub(r'^package com\.token\.signer\.(.*);$', r'package \1;', line) print(line, end='') - 在Doxyfile里配置INPUT_FILTER:
INPUT_FILTER = python3 /absolute/path/to/strip_package_prefix.py
这样Doxygen处理每个Java文件时,会先把包声明里的
com.token.signer.前缀去掉,生成的类列表自然就从client开始了。- 新建一个Python脚本(比如
注意事项
HIDE_SCOPE_NAMES本来就是控制类成员的作用域显示(比如public/private),和包名层级无关,所以之前设置它没用是正常的。- 修改配置后记得清空Doxygen的输出目录,重新生成文档,避免缓存影响结果。
内容的提问来源于stack exchange,提问作者Kagan
相关产品推荐
相关产品推荐

