Python与智能感知

Python与智能感知,python,ide,intellisense,Python,Ide,Intellisense,Python是否有“智能感知”的等价物 也许我不应该承认这一点,但我发现拥有智能感知确实可以加快学习一门新语言的“发现阶段”。例如,从VB.net切换到C#是一件轻而易举的事,因为代码片段和intellisense帮助了我。例如,Wingware实现了自动完成,请参见。ctags+vim也可以工作,尽管它不如intellisense强大。通过ipython,您可以获得在线帮助、自动完成姓名等。。。但这显然是面向命令行的 Eclipse+pydev也可以做到这一点,但我没有这方面的经验:博客文章解

Python是否有“智能感知”的等价物


也许我不应该承认这一点,但我发现拥有智能感知确实可以加快学习一门新语言的“发现阶段”。例如,从VB.net切换到C#是一件轻而易举的事,因为代码片段和intellisense帮助了我。例如,Wingware实现了自动完成,请参见。

ctags+vim也可以工作,尽管它不如intellisense强大。通过ipython,您可以获得在线帮助、自动完成姓名等。。。但这显然是面向命令行的

Eclipse+pydev也可以做到这一点,但我没有这方面的经验:

博客文章解释了如何将Vim设置为Python IDE,他介绍了类似Intellisense的功能:


(来源:)

这是Vim 7中的标准配置。Vim中还有许多其他非常有用的用于python开发的插件,例如动态检查代码,以及提供操作python缩进和代码块的功能。

Eclipse环境具有类似intellisense的python功能。保持交互式控制台打开,以及
帮助(项目)
功能非常有用。

我强烈建议。在Pydev中,您可以将正在使用的模块放在中,大多数情况下,代码完成将比其他IDE(如KOMODO EDIT)工作得更好


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

我推荐。然而,我应该指出一点:你不会得到任何你已经习惯于使用VisualStudio的C#intellisense的东西。Python的动态特性使其难以实现这些功能。

Python附带的intellisense功能可以自动发现导入的模块、函数、类和属性。

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

虽然这并不是你想要的,但ipythonshell非常适合于探索性工作。当我使用一个新模块时,我倾向于将它拉入ipython并戳它。在尝试了上述大多数解决方案后(尽管从Wing开始已经多年),ipython的竣工设施始终更加可靠。探索的两个主要工具是tab complete(制表符完成)和在模块/功能名称后添加问号以获取帮助文本,例如:

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

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

使用tab时会自动完成动态行为,因为它是一个shell,您可以获得任何对象/方法类型的完整文档:

object.method ?
在开发时,我同意PyDev很酷。但是它很重,所以在学习时,文本编辑器+iPython真的很不错。

有我见过的最好的intellisense:)

看看,它们提供代码完成(也称intellisense)、调试等功能

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


IronPython是一条路要走。Visual Studio有最好的intellisense支持,您可以利用它,使用IronPython是具有intellisense支持的最好的Python IDE。

对于emacs和VI也有。

我建议,它对我来说非常完美,尝试一下,您不会后悔。

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

最重要的是,它是免费的:

感谢所有的好建议!喜欢随机投票-这是怎么回事?在某种程度上重复:你想要的是“自动代码完成”-支持的编辑在所有选项中的原始海报旁边用AC列出,他们的名字可能包含在许多标记为python+ide的问题中:。具体地说,这一个看起来像一个几乎完全相同的复制品:Emacs有类似的东西吗?恐怕我不使用Emacs!我看到了这篇博客文章,但我不能对它的质量发表任何评论:我使用这些设置,而且与我尝试的其他Python“IDE”不同,它甚至获得了正确的C扩展(至少是PyQt4)。pyscripter中没有intellisense。它只有基本的自动完成功能。你真的需要使用Visual Studio mate,PyScripter是我使用过的最差的高端IDE之一。现在我建议使用Pycharm。它变得非常好。我不建议使用PyDev。我曾经尝试过Django,当它涉及到像Akismet或Markdown这样的插件时,有很多未解决的依赖项。我尝试了很多解决方案,但最终都没有成功。我听说过很多关于PyCharm的好消息,但没有亲自尝试过。@Wojtek,你有其他IDE推荐吗?我试过PyDev、Sublime和Komodo Edit,Komodo非常好,因为它比Eclipse轻,但我在设置或理解它的智能感知工作方式方面有一些困难…@Tareck117不,我不是一个真正的蟒蛇主义者,我只是偶尔快速尝试一下。我使用Sublime,但仅用于一个文件脚本,它本身不是IDE。正如我所说,我可以推荐PyCharm,我的一些pythonist朋友使用它并且喜欢它。我听说它最近推出了免费版(社区版),功能有限,但完全可以使用intellisense。你应该试一试。这是一个商业产品,所以我想他们会让它正常工作,但不能保证。VS2010(不能使用更高版本)和Python工具是我用过的最好的intellisense,Eclipse/PyDev没有提供那么多信息。请记住intellisense不仅仅是代码完成,这是一个广义术语,当您将鼠标悬停在函数或变量(也称为code insight)上时,它也适用于工具提示,可以在突出显示的
compile
方法右侧看到。这是几乎所有Python IDE都无法正确完成的,