Gibt es für Python ein Äquivalent zu "Intellisense"?
Vielleicht sollte ich es nicht zugeben, aber ich finde, dass Intellisense die „Entdeckungsphase“ des Lernens einer neuen Sprache wirklich beschleunigt. Zum Beispiel war der Wechsel von VB.net zu C # ein Kinderspiel, da mir Snippets und Intellisense geholfen haben.
python
ide
intellisense
Andrew Harry
quelle
quelle
Antworten:
In diesem Blogeintrag wird das Einrichten von Vim als Python-IDE erläutert. Er behandelt die Intellisense-ähnliche Funktionalität:
(Quelle: dispatched.ch )
Dies ist Standard in Vim 7. In Vim gibt es eine Reihe weiterer sehr nützlicher Plugins für die Python-Entwicklung, z. B. Pyflakes, das den Code im laufenden Betrieb überprüft, und Python_fn.vim , das Funktionen zum Bearbeiten von Python-Einrückungen und Codeblöcken bietet.
quelle
Schauen Sie sich die Python-Tools für Visual Studio an . Sie bieten Code-Vervollständigung (auch bekannt als Intellisense), Debugging usw.
Unten sehen Sie einen Screenshot der interaktiven Python-Shell, der die Code-Vervollständigung zeigt.
quelle
compile
Methode angezeigt wird . Dies ist etwas, was fast alle Python-IDEs nicht richtig machen, wenn überhaupt, Eclipse kommt nur nahe, zeigt Ihnen jedoch nicht, welche Typen eine Variable enthalten oder eine Funktion annehmen / zurückgeben kann. (RE_Pattern in Ihrem Screenshot)Die PyDev- Umgebung für Eclipse verfügt über eine Intellisense-ähnliche Funktionalität für Python. Es
help(item)
ist sehr hilfreich, eine interaktive Konsole zusammen mit der Funktion offen zu halten .quelle
Die dynamische Natur der Sprache erschwert in der Regel die Analyse des Typs der automatischen Vervollständigung, sodass die Qualität der verschiedenen oben genannten Vervollständigungsmöglichkeiten stark variiert.
Obwohl es nicht genau das ist, wonach Sie gefragt haben, eignet sich die Ipython-Shell sehr gut für Erkundungsarbeiten. Wenn ich mit einem neuen Modul arbeite, neige ich dazu, es in Ipython zu ziehen und daran zu stöbern. Nachdem die meisten der oben genannten Lösungen ausprobiert wurden (obwohl Wing schon Jahre alt ist), sind die Fertigstellungsmöglichkeiten von ipython durchweg zuverlässiger. Die beiden Hauptwerkzeuge für die Erkundung sind die vollständige Registerkarte und das Anhängen eines Fragezeichens an den Modul- / Funktionsnamen, um den Hilfetext abzurufen, z.
In [1]: import sqlalchemy In [2]: sqlalchemy.s #tab completion sqlalchemy.schema sqlalchemy.select sqlalchemy.sql sqlalchemy.subquery In [2]: sqlalchemy.select? #Shows docstring In [3]: sqlalchemy.select?? #Shows method source In [4]: edit sqlalchemy.select #opens the source in an editor
quelle
Der mit Python gelieferte IDLE-Editor verfügt über eine Intellisense-Funktion, die importierte Module, Funktionen, Klassen und Attribute automatisch erkennt.
quelle
dir(object)
dieselbe Attributliste abrufen. aber es ist weit entfernt von der informativen Intelligenz, die ich gewohnt bin.Ich kann PyDev nur empfehlen . In Pydev können Sie das verwendete Modul in die Forced Buildins einfügen . Meistens funktioniert die Code-Vervollständigung besser als in anderen IDEs wie KOMODO EDIT.
Ich denke auch, dass IPython sehr hilfreich ist. Da es in IPython "Laufzeit" ist, wird die Code-Vervollständigung in IPython nichts verpassen.
quelle
PyCharm ist die beste Python-IDE mit IntelliSense-Unterstützung.
quelle
Ich würde Komodo Edit empfehlen . Ich sollte jedoch auf etwas hinweisen: Sie werden nichts ganz so Gutes bekommen, wie Sie es von Visual Studios C # Intellisense gewohnt sind. Die dynamische Natur von Python kann es schwierig machen, diese Art von Funktionen auszuführen.
quelle
Wingware implementiert beispielsweise die automatische Vervollständigung, siehe http://wingware.com/doc/edit/auto-completion .
quelle
ctags + vim funktioniert auch einwandfrei, obwohl es nicht so leistungsfähig ist wie Intellisense. Wenn Sie dies mit ipython verwenden, können Sie Online-Hilfe, automatische Namensvervollständigung usw. erhalten. Aber das ist offensichtlich befehlszeilenorientiert.
Eclipse + pydev kann das auch, aber ich habe keine Erfahrung damit: http://pydev.sourceforge.net/
quelle
Ich denke, der dynamischste Weg, Python zu lernen, ist die Verwendung von iPython .
Sie haben eine automatische Vervollständigung erhalten, wenn Sie ein dynamisches Tab-Verhalten verwenden, da es sich um eine Shell handelt und Sie die vollständige Dokumentation aller Objekt- / Methodentypen erhalten können:
object.method ?
Bei der Entwicklung stimme ich zu, dass PyDev cool ist. Aber es ist schwer, also ist ein Texteditor + iPython beim Lernen wirklich nett.
quelle
Pyscripter hat die beste Intelligenz, die ich je getroffen habe :)
quelle
Für Emacs und VI gibt es auch https://github.com/tkf/emacs-jedi .
quelle
Ich würde jedi-vim empfehlen , es ist perfekt für mich, probieren Sie es aus und Sie werden es nicht bereuen.
quelle
IronPython ist der richtige Weg. Visual Studio bietet die beste Intellisense-Unterstützung, die Sie mit IronPython nutzen können
quelle
Versuchen Sie es mit Visual Studio Code. Es bietet eine sehr leistungsstarke Python- und Django-Unterstützung sowie Tausende von Plugins für andere Sprachen, die in einem Python-Projekt verwendet werden, z. B. CSS-, HTML- und Django-Vorlagen.
Das Beste ist, dass es kostenlos ist: https://code.visualstudio.com
quelle