2012-03-19 10 views
10

私はtimxplorer、pythoncomplete、およびctagsでvimを使っている大規模なpythonプロジェクトに取り組んでいます。タグベースのコードブラウジングとコード補完の機能は、残念ながらctagsがインスタンスをタイプに結びつけないため動作しません。vimでのPythonコードブラウジングとコード補完の問題に対処するには?

仮想シナリオは:

  • オートコンプリート:VimはオートコンプリートmyCar.ignition().on()ためのctagsのメソッドon()はそのignition()戻りTypeIgnitionを知らないことはありません。
  • コードブラウジング:myCarをクリックすると、vimはTypeCarを参照しませんが、代わりに複数の定義の一致、不正確な一致、または一致しないものが表示されます。

この問題は、Pythonが動的に型指定された言語であると思われます。いずれのシナリオも、そうでなければ挑戦を提示しません。 タグベースのコードブラウジングとコード補完、それをうまく実装するIDEまたはvimプラグインに代わる有効な方法はありますか?

注:「改めて開く」に投票してください。この問題に対する解決策は、コミュニティにとって貴重です。この質問は、もともとは非常に曖昧に公式化されていたが、もはやそうではない。

+5

's/weak typing/dynamic typing /' – delnan

+0

約1週間前に[spyder](http://code.google.com/p/spyderlib/)が見つかりました。彼らが自分のものをどうやってやっているのか見てみるかもしれない。 – John

+1

私はこれを大きな問題とは考えていません。自動展開には[ropemacs](http://rope.sourceforge.net/ropemacs.html)を使用することがありますが、これはうまくいきます。しかし、私は単に属性名を入力するだけで、生産性の面では気にしません。もし私がするなら、私は確かにロープマックをもっと利用するでしょう。 –

答えて

0

wing(www.wingware.com)やpycharm(www.jetbrains.com/pycharm)のようなpythonの商用IDEは、コード補完の問題の大半を解決するのに適しています。もちろん、彼らは無料ではありません。私自身、pydevプラグインでEclipseを使用すると、満足のいく結果を得ることができませんでした。

+0

shucks、私はPyDevを試そうとしていた –

+1

私はあなたがそれを試してみることを勧めます。 Pydevの私の問題は、サードパーティライブラリをインポートしたときでした。 PyDevにはまだ対処されていないバグがたくさんありますが、Pythonが登場するIDEよりはるかに優れています。 –

+1

PyDevはうまく機能します。完璧なものからずいぶんですが、まあまあまあです。また、コード補完で失うものは、実行時の任意の時点でコードに侵入し、アクティブなフレームで任意のコードを実行する能力にある程度補完されています。 –

関連する問題