2011-11-08 13 views
1

私はIDEのほとんどを見てきました。私は自動補完を使うようにvimを設定しましたが、私は今使っています。しかし、Visual Studio with .NETのように動作させることはできません。オートコンプリートは特定のケースでのみ動作するように見え、メソッドを表示し、どのパラメータを取るかはわかりません。それは私にはほとんど使えない。自動完成版Pythonプログラミング環境

私が後にしているのは、利用可能なすべてのメソッドとそれらが取るパラメータを示すポップアップです。あなたが.NETをプログラミングしているときのVS2010の感触。

+2

http://stackoverflow.com/questions/81584/what-ide-to-use-for-python – develerx

+0

はい、これは私が最初に遭遇したものです。しかし、多くのIDEにはオートコンプリートがあり、動作していないようです。私はEric4を試して、オートコンプリートはすでにページ上で使われているものをオートコンプリートするだけです。すべてをオートコンプリートするはずですが、そうではありません。 – s5s

+1

オートコンプリートは、タイプされていないパラメータを持つ言語では非常に難しいです。それはどうやって知っているの? Pythonのような言語でオートコンプリートする機会は、エディタが書き込み時に各変数の種類を合理的に知ることができる言語よりも少ないことがわかります。 –

答えて

6

Pythonのような動的言語では、より明示的に型指定された言語で取得するようなオートコンプリートは得られません。検討してください:

def MyFunction(MyArg): 
     MyArg. 

「。」と入力すると、 MyArg.には、エディタが引数のあるメソッドのリストを提供することが必要です。エディタは、どのタイプ(またはタイプ)MyArgが可能性があるのか​​を知る方法が全くないため、Pythonではこれを行うことはできません。 Pythonコンパイラでさえ、コードをコンパイルするときにその情報を持っていません。そのため、MyArg.SomeNonExistentFunction()を入力すると、実行時までエラーメッセージが表示されません。

あなたのような何かを書いた場合:

def MyFunction: 
     MyObject = MyClass(SomeArg) 
     MyObject. 

その後、十分にスマートエディタその最後の後に使用可能なメソッドのリストを供給することができます「」。

オートコンプリートを「時には」提供しているエディタは、私の2番目の例のような場合にそうしています。 Pythonでは、それはあなたが得るほど良いものです。

+0

ああ私は見る!まあ、少なくとも私はOmni Completeについて知っています。これはC++にとって有益なようです。ライブラリリファレンスとして使用できるものは何ですか?現在、私はすべてのドキュメンテーションに目を通し、私が後にしている方法を見つけなければなりません。私は本当にメソッドと引数のリストを取得したいと思います。 – s5s

+0

標準ライブラリの完全なオンラインドキュメントがあります。しかし、ほとんどの分散Pythonコードは自己文書化するように記述されています。関心のあるパッケージをインポートし、オブジェクト、クラス、または関数に 'dir()'と 'help()'関数を使用して、それらが含むメンバーとそれらの使用方法に関する情報を得ることができます。 –

3

Geditには構文補完を試みる開発者用プラグインがあります。すでに述べた理由から、それはうまく機能しません。私はそれがより有用で迷惑であることを発見し、数週間の試行後にそれを無効にした。

ipythonの新しいQtコンソールにはタブ補完が用意されています。構文ヘルプやdocstringsを使用して、いくつかのツールチップポップアップを表示できます。下記のスクリーンショットを参照してください。

ほとんどの人がすでに指摘しているように、あなたが求めているこの種のものは、動的ではない言語のほうが適切です。私は今、いくつかの時間のためにPyDev拡張子を持つEclipseを使用してきた

enter image description here


enter image description here

3

。自動補完は本当に印象的ですが、私はそれを強く推奨します。

+0

はい、私はそれをチェックアウトしましたが、EclipseをインストールしようとしたときにEclipseに何らかのエラーがあると言いました。ガリレオ(これは最新バージョンではありません)を実行しているからですか? – s5s

関連する問題