Existe-t-il un équivalent à "intellisense" pour Python?
Je ne devrais peut-être pas l'admettre, mais je trouve qu'intelliSense accélère vraiment la «phase de découverte» de l'apprentissage d'une nouvelle langue. Par exemple, passer de VB.net à C # était un jeu d'enfant grâce aux snippets et à l'intellisense qui m'aidaient.
Cette entrée de blog explique comment configurer Vim en tant qu'EDI Python, il couvre les fonctionnalités de type Intellisense:
Python Intellsense http://blog.dispatched.ch/wp-content/uploads/2009/05/omnicompletion.png
Ceci est standard dans Vim 7. Il existe un certain nombre d’autres plugins très utiles pour le développement de python dans Vim, tels que Pyflakes qui vérifie le code à la volée et Python_fn.vim qui fournit des fonctionnalités pour manipuler l’indentation de python. & blocs de code.
Jetez un coup d'œil à les outils python pour visual studio , ils fournissent l'achèvement du code (a.k.a intellisense), le débogage, etc.
Vous trouverez ci-dessous une capture d'écran du shell interactif pour python indiquant l'achèvement du code.
L’environnement PyDev pour Eclipse dispose de fonctionnalités similaires à Intellisense pour Python. Garder une console interactive ouverte, ainsi que la fonction help(item)
est très utile.
La nature dynamique de la langue rend difficile l’analyse de type autocomplete, de sorte que la qualité des divers moyens d’achèvement décrits ci-dessus varie énormément.
Bien que ce ne soit pas exactement ce que vous avez demandé, le shell ipython est très utile pour les travaux exploratoires. Quand je travaille avec un nouveau module, j'ai tendance à le tirer dans ipython et à le fouiller. Après avoir essayé la plupart des solutions mentionnées ci-dessus (bien que cela fasse des années que Wing), les installations de complétion d’ipython sont toujours plus fiables. Les deux principaux outils d’exploration sont les onglets complets et l’ajout d’un point d’interrogation au nom du module/de la fonction pour obtenir le texte d’aide, par exemple:
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
Je recommande fortement PyDev . Dans Pydev, vous pouvez mettre le module que vous utilisez dans le répertoire Forced Buildins , la plupart du temps, l'achèvement du code fonctionnera mieux que dans d'autres IDE comme KOMODO EDIT.
Aussi, je pense que IPython est très utile. Puisqu'il s'agit d'une «exécution» dans IPython, l'achèvement du code dans IPython ne manquera de rien.
L'éditeur IDLE fourni avec Python possède une fonctionnalité intellisense qui détecte automatiquement les modules, fonctions, classes et attributs importés.
PyCharm est le meilleur Python IDE avec le support IntelliSense.
Wingware, par exemple, implémente l'auto-complétion, voir http://wingware.com/doc/edit/auto-completion .
Je recommanderais Komodo Edit . Cependant, je dois souligner quelque chose: vous n'obtiendrez rien d'aussi bon que celui auquel vous êtes habitué avec l'intisisense C # de Visual Studio. La nature dynamique de Python peut rendre difficile l’utilisation de ce type de fonctionnalités.
ctags + vim fonctionne bien aussi, bien que ce ne soit pas aussi puissant qu'intelliSense. En utilisant cela avec ipython, vous pouvez obtenir de l’aide en ligne, la complétion automatique du nom, etc.
Eclipse + pydev peut aussi le faire, mais je n’ai aucune expérience avec cela: http://pydev.sourceforge.net/
Eh bien, je pense que le moyen le plus dynamique d’apprendre Python est d’utiliser iPython .
Vous avez l'auto-complétion lorsque vous utilisez tab, comportement dynamique car c'est un shell et vous pouvez obtenir la documentation complète de tout type d'objet/méthode:
object.method ?
Lors du développement, je conviens que PyDev est cool. Mais c'est lourd, alors en apprenant, un éditeur de texte + iPython est vraiment agréable.
Je recommanderais jedi-vim , c'est parfait pour moi, essayez et vous ne le regretterez pas.
Pyscripter a le meilleur intellisense que j'ai rencontrer :)
Pour emacs et VI, il y a aussi https://github.com/tkf/emacs-jedi .
IronPython est la voie à suivre. Visual Studio offre le meilleur support intellisense et vous pouvez l'utiliser avec IronPython
Essayez Visual Studio Code. Il offre un support très puissant pour Python et Django et des milliers de plugins pour d’autres langages utilisés dans un projet Python, tels que les modèles CSS, HTML et Django.
Mieux encore, il est gratuit: https://code.visualstudio.com