4

私は自分の Python コードのドキュメントを生成するためにdoxygenを使い始めました。フィルターを使用doxypyして、Python docstring を前処理します。私の目標は、Python で doxygen コメントの構文をうまく強調表示することです。

メインページを専用の.doxファイルに書き込んでいるときに、次のコマンドを使用して doxygen コメントをvimで強調表示できることがわかりました。

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 regionsyntax/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あなたにとって特に興味深いものでしょう。に設定foldmethodするsyntaxと、複数行のコメントを折りたたんだり展開したりできます。これらの色の表示に我慢できなくなり、調整するのが面倒な場合に便利です:)


doxygen の強調表示なし:

ここに画像の説明を入力

doxygen の強調表示とg:doxygen_enhanced_color == 1:

ここに画像の説明を入力

于 2013-08-08T09:39:56.770 に答える