5

virtualenv私は自分のプロジェクトでandを使用しておりdjango、django のソース コードを閲覧するためのより効率的な方法を見つけようとしています。

ここでアドバイスされているように-開発者がクラス階層をより速く読むのに役立つツール-私は経由でctagsをセットアップしました

sudo port -v install ctags

https://github.com/vim-scripts/taglist.vimtaglist経由で vim プラグインをインストールしました

残念ながら、ctags「ジャンプ」してクラスを表示しようとしたときに、django のクラスが見つからないようですCtrl+]

ctags私のvirtualenvにあるpythonソースコードを読む方法はありますか?

アップデート

さらに実験ctagsを重ねると、これは特定のディレクトリ/ファイル/ファイルを解析し、見つけたすべてのキーワード (クラス名、メソッド名、関数名など) を取得してファイルに書き込む、ある種の「インデックス作成」プログラムであることがわかりました。このファイルは更新することができ、vim プラグインは基本的にそれを読み取って、クラス/メソッド/関数名taglistを実行するときにどこに送信するかを認識します。Ctrlt

そこで、次のように vim で実行する一時的かつ手動の解決策を思いつきました:-

:set tags=~/mytags
:! ctags -R -o ~/mytags ~/.virtualenvs/myprojectname

最初のコマンドは、「インデックス付けされた」結果が保存されている場所を vim/taglist に伝えます。

~/mytags2 番目のコマンドは、ファイルを再帰的に ( -R)検索することにより、索引付けされた結果をファイルに書き込みます。~/.virtualenvs/myprojectname

これは機能しますが、たまたま別のvirtualenv環境にいる場合にタグとタグの変更を維持するための非常に手動の方法です。

ctagsこのプロセスを自動化する方法を知っている人はいますか?

4

1 に答える 1

5

多くの「自動タグ生成」プラグインが利用可能です。

TagList は、tags手動/自動で生成したものからは読み取りませんctags。それ自体を呼び出して、その出力を直接読み取ります。

また、あなたは読みたいかもしれません:help autocommandtags次のように、書き込み時に自動コマンドを再生成するように設定できます。

autocmd BufWritePost,FileWritePost *.py :silent! !ctags -R -o ~/mytags ~/.virtualenvs/myprojectname
于 2012-04-28T11:06:36.303 に答える