4

我开始使用doxygen来生成我的 Python 代码的文档。我使用doxypy过滤器来预处理 Python 文档字符串。我的目标是在 Python 中突出显示 doxygen 注释的语法。

在专门的.dox文件中编写我的主页时,我发现可以使用以下命令在vim中突出显示 doxygen 注释:

set syntax=c.doxygen

我为 Python 尝试了相同的命令,但我什么也没得到: set syntax=python.doxygen

我也做了一些谷歌搜索,找不到任何有趣的东西

这是我想强调的典型代码:

class CompilationTab:
    """
    The compilation tab of the verif GUI. It contains the layout description
    and the functions required to deal with specific behaviors of the tab
    """
    def __init__(self, notebook, tab_name):
        """
        The class constructor.

        @param notebook Notebook: The parent @c Notebook widget
        @param tab_name String: The display name of the tab
        """

有人已经解决了这个问题吗?谢谢你的帮助!

4

1 回答 1

8

如果你调查一下,syntax/doxygen.vim你可以在文件的序言中读到,目前只有

cpp, c, idl, doxygen and php

支持文件。

由于doxygen.vim与命令一起工作很多,syn region我搜索了定义多行字符串的行syntax/python.vim

定义该区域的命令的有趣部分是

syn region pythonString start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend

派生自其中的内容doxygen.vim和上面的行,您可以添加以下行

"delete the following line if you don't want to have enhanced colors
let g:doxygen_enhanced_color=1
runtime! syntax/doxygen.vim
syn region doxygenComment matchgroup=pythonString start=+[uU]\=\z('''\|"""\)+ end="\z1" contains=doxygenSyncStart,doxygenStart,doxygenTODO keepend fold containedin=pythonString

手动执行~/.vim/after/syntax/python.vim或执行它们。

此外,您可能必须手动自定义添加的 doxygen 突出显示组的颜色。至少我会这样做,因为最终的外观不符合我的口味。

也许您fold对命令的参数syn特别感兴趣。如果设置foldmethodsyntax您可以折叠和展开多行注释。如果您无法再忍受这些颜色的视图并且懒得调整它们,这似乎很有用:)


没有 doxygen 突出显示:

在此处输入图像描述

使用 doxygen 突出显示和g:doxygen_enhanced_color == 1

在此处输入图像描述

于 2013-08-08T09:39:56.770 回答