在Python中使用doxygen样式文档字符串的Vim语法高亮显示

Plo*_*uff 4 python vim doxygen syntax-highlighting

我开始使用doxygen来生成我的Python代码的文档.我使用doxypyfilter来预处理Python文档字符串.我的目标是在Python中有一个很好的语法突出显示doxygen注释.

当写我的炫魅在专用.dox文件,我发现doxygen的注释中可以突出VIM使用下面的命令:

set syntax=c.doxygen
Run Code Online (Sandbox Code Playgroud)

我为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
        """
Run Code Online (Sandbox Code Playgroud)

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

use*_*332 7

如果您查看,syntax/doxygen.vim您可以阅读目前只有文件的序言

cpp, c, idl, doxygen and php
Run Code Online (Sandbox Code Playgroud)

文件受支持.

由于我在搜索定义多行字符串的行doxygen.vimsyn region命令中工作了很多syntax/python.vim.

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

syn region pythonString start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend
Run Code Online (Sandbox Code Playgroud)

从什么是衍生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
Run Code Online (Sandbox Code Playgroud)

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

此外,您可能需要手动自定义添加的doxygen突出显示组的颜色.至少我会这样做,因为由此产生的外观不符合我的口味.

也许这个命令的fold论点syn对你特别感兴趣.如果设置foldmethodsyntax,则可以折叠和展开多行注释.如果你再也不能忍受这些颜色的看法并且懒得调整它们,这似乎很有用:)


没有doxygen突出显示:

在此输入图像描述

与doxygen突出显示和g:doxygen_enhanced_color == 1:

在此输入图像描述