使用Doxygen记录UTF-8 Python代码

时间:2013-04-01 16:14:43

标签: python utf-8 doxygen

doxygen未正确解析以下代码,结果文档中未显示“Module Docstring”:

# -*- coding: utf-8 -*-
"""
Module Docstring
"""

如果删除第一行,则会正确解析。但我需要设置编码,因为我在代码中使用非ASCII字符。有没有人有同样的问题? 我尝试使用doxypy,但它也失败了。还尝试了配置文件中的许多不同更改。

到目前为止,最好的方法是将INPUT_FILTER参数用于剥离第一行的某种脚本,可能使用“tail -n +3”作为过滤器。问题在于并非每个文件都需要“编码:utf-8”,因此将其放在每个文件中都会很麻烦。有更好的想法吗?我忽略了什么吗?

2 个答案:

答案 0 :(得分:1)

您可以指定input encoding配置变量:

http://www.doxygen.nl/manual/config.html#cfg_input_encoding

变量应设置为http://www.gnu.org/software/libiconv/

中指定的UTF-8(所有大写字母,连字符,无空格)

希望这会有所帮助。快乐记录: - )

答案 1 :(得分:0)

查看this link,您似乎必须将@package <packagename>放在模块文档字符串中,以便doxygen对其执行操作。

在同一页面上,您可以看到doxygen实际上更喜欢使用注释而不是docstring,因为docstrings不支持doxygen特殊命令。

修改

为避免混淆doxygen,请将@package评论与coding评论分开。

要让doxygen将包“放在适当的位置”,你应该看看grouping,特别是模块。