2012-04-28 11 views
4

私のプロジェクトではvirtualenvdjangoを使用しています。私はdjangoのソースコードをより効率的に参照する方法を探しています。 Tools to help developers reading class hierarchy faster - - ここに助言としてタグリスト付きのctagsとvimとpython virtualenv

私は自分自身がセットアップのctagsと

sudo port -v install ctags 

経由だと残念ながらhttps://github.com/vim-scripts/taglist.vim

を経由してvimのプラグインtaglistをインストールし、ctagsが私のDjangoのクラスときを見つけることができないようですCtrl +]でクラスを見るために "ジャンプ"しようとしました。

どのようにすればctags私のvirtualenvにあるpythonのソースコードを読むことができますか?

UPDATES

さらなる実験では、私は、関数、ctagsが指定したディレクトリ/ファイル/ファイル全体を解析し、すべてのキーワード(クラス名、メソッド名をつかむ「インデックス」プログラムのいくつかの種類であることに気づきました名前など)を見つけ、それをファイルに書き込みます。このファイルを更新することができ、vimプラグインtaglistは、クラス/メソッド/関数名にCtrltを送信したときにどこに送付するかを知るために、

だから私はこのように、私は私のvimの中で実行し、一時、手動ソリューション、思い付いた: -

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

最初のコマンドは、私の「インデックス化」の結果が保存されている私のvim /タグリストを伝えます。

2番目のコマンドは~/.virtualenvs/myprojectname

ダウン再帰的(-R)を検索して~/mytagsファイルにインデックス付きの結果を書き込みこれは、タグとタグを維持するために非常にマニュアルように動作しますが、私は違うvirtualenvであることが起こる場合に変更環境。

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

答えて

4

There are many "automatic tags generation" plugins available.

タグリストは、手動/自動で生成しているものは何でもtagsから読み取れません:それは自分自身ctagsを呼び出し、直接その出力を読み取ります。

また、:help autocmmandもお読みください。

autocmd BufWritePost,FileWritePost *.py :silent! !ctags -R -o ~/mytags ~/.virtualenvs/myprojectname 
+0

あなたのリンクは、いくつかの場所を指した:あなたは、セットアップの自動コマンドはこのような書き込みにごtagsを再生成することができますか?私は404を取得しています。あなたのautocommandの例に関しては、 'vim'が特定のファイルを開くときに私が入っているpython virtualenvを検出しなければならないため、それを自動検出する方法がないと思います。 virtualenvプロジェクトファイルが "所属"しています。 –

+1

リンクが修正されました。 [このプラグイン](https://github.com/jmcantrell/vim-virtualenv)も参照してください。これはvirtualenvを扱いやすくするためのものです。 – romainl

関連する問題