Python和Intellisense

时间:2009-05-25 01:02:23

标签: python ide intellisense

是否有相当于Python的'intellisense'?

也许我不应该承认这一点,但我发现intellisense确实加速了学习新语言的“发现阶段”。例如,由于片段和智能感知帮助我,从VB.net切换到C#是一件轻而易举的事。

16 个答案:

答案 0 :(得分:32)

This博客文章说明将Vim设置为Python IDE,他涵盖了类似Intellisense的功能:

Python Intellsense
(来源:dispatched.ch

这是Vim 7中的标准。在Vim中有许多其他非常有用的python开发插件,例如Pyflakes可以动态检查代码,Python_fn.vim提供操作python的功能缩进&代码块。

答案 1 :(得分:23)

查看python tools for visual studio,它们提供代码完成(a.k.a intellisense),调试等......

下面是python的交互式shell的屏幕截图,显示代码完成。

enter image description here

答案 2 :(得分:19)

Eclipse的PyDev环境具有类似Intellisense的Python功能。保持交互式控制台与help(item)功能一起打开非常有用。

答案 3 :(得分:15)

语言的动态特性往往使自动完成类型分析变得困难,因此上述各种完成设施的质量差异很大。

虽然它不是你要求的,但ipython shell非常适合探索性工作。当我使用新模块时,我倾向于将其拉入ipython并捅它。尝试了上面提到的大部分解决方案(虽然距离Wing已有多年),但ipython的完成设施始终更加可靠。探索的两个主要工具是标签完成,并在模块/函数名称后附加一个问号以获取帮助文本,例如:

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

答案 4 :(得分:9)

我强烈推荐PyDev。在Pydev中,您可以将您正在使用的模块放在Forced Buildins中,大多数代码完成将比其他IDE(如KOMODO EDIT)更好。

我认为IPython非常有帮助。由于它是IPython中的“运行时”,因此IPython中的代码完成不会遗漏任何内容。

答案 5 :(得分:8)

Python附带的IDLE editor具有智能感知功能,可自动发现导入的模块,函数,类和属性。

答案 6 :(得分:7)

PyCharm是支持IntelliSense的最佳Python IDE。

答案 7 :(得分:5)

Wingware例如实现自动完成,请参阅http://wingware.com/doc/edit/auto-completion

答案 8 :(得分:5)

我建议Komodo Edit。但是,我应该指出一点:你不会得到任何与你习惯使用Visual Studio的C#intellisense一样好的东西。 Python的动态特性使得很难做到这些功能。

答案 9 :(得分:4)

ctags + vim也可以正常工作,虽然它没有intellisense那么强大。使用ipython,您可以获得在线帮助,自动完成名称等等......但这显然是面向命令行的。

Eclipse + pydev也可以这样做,但我没有使用它的经验:http://pydev.sourceforge.net/

答案 10 :(得分:3)

嗯,我认为学习Python最有活力的方法是使用iPython

你在使用tab,动态行为时有自动完成,因为它是一个shell,你可以获得任何对象/方法输入的完整文档:

object.method ?

开发时,我同意PyDev很酷。但它很重,所以在学习的同时,文本编辑器+ iPython非常好。

答案 11 :(得分:2)

Pyscripter拥有我遇到的最好的智能感受:)

答案 12 :(得分:2)

对于emacs和VI,还有https://github.com/tkf/emacs-jedi

答案 13 :(得分:2)

我会推荐jedi-vim,这对我来说是完美的,尝试一下,你不会感到后悔。

答案 14 :(得分:0)

IronPython是要走的路。 Visual Studio具有最佳的智能感知支持,您可以使用IronPython

来实现

答案 15 :(得分:0)

尝试使用visual Studio Code。它具有非常强大的Python和Django支持以及用于Python项目(如CSS,HTML和Django模板)的其他语言的数千个插件。

最重要的是,它是免费的: https://code.visualstudio.com