许多python IDE都标榜提供代码完整性(代码洞察力),PyCharm就是其中之一。然而,在我看来,提供的代码完成是极其有限的。让我举一个例子来说明:
import numpy as np
m = np.random.random((3,5))
m.
在“m.”之后按 CTRL 空格不会给我任何代码完成,无论我;)用力敲它。我想这是因为 IDE 必须进行类型推断才能知道变量“m”的类型,这在动态编程语言领域并非易事。
现在,PyCharm附带了一个名为“收集运行时类型信息以进行代码洞察”的设置,这听起来确实很有希望。然而,它似乎并没有解决上面提到的问题…我仍然无法在变量'm'上获得代码完成。
到目前为止,我只找到了一种在PyCharm中获取变量代码完成的方法:
import numpy as np
m = np.random.random((3,5))
''':type : np.matrix'''
m.
在这个例子中,当在“m”之后按CTRL-space时,我能够获得代码完成,这是因为我通过使用文档字符串指定变量的类型来帮助IDE。然而,我对这种获得代码完成的方式不满意,因为它为所有这些文档字符串的代码增加了不必要的冗长(更不用说所有额外的键盘输入)…
现在,如果我们在linux终端中启动IPython,并输入第一段代码,我们将能够一路完成代码,即使是变量“m”。(其中IPython中的代码完成是通过按TAB键而不是CTRL空格键实现的)。。
我没有太多关于IPython的经验,但是我相信我听说过一些关于IPython不断循环执行代码之类的事情...
我认为应该可以使用IPython在PyCharm编辑器中的所有变量上实现真正的代码完成……
有没有办法设置PyCharm使用IPython来完成代码?
请注意,我不满意将代码发送到终端窗口/控制台,或类似的东西,我想在 PyCharm 的编辑器中完成代码......
我看过类似这样的问题,在Pycharm Ubuntu中添加ipython作为解释器,但它似乎是关于在控制台中使用IPython,-而不是在编辑器中...在IDE中也有很多关于代码完成的问题,但是它们似乎都有和PyCharm一样令人不满意的代码完成水平...
要在py魅力中实现类似iPython的功能,您可以通过两种方式做到这一点:
>
设置断点,并调试代码。当它到达断点时,转到编辑器正下方的控制台选项卡,并通过单击显示命令行的按钮启动命令行
从您的控制台启动python命令行(无需运行调试器),通过单击工具,运行Python控制台
我也有同样的问题,我在这里找到了答案:https://www.jetbrains.com/pycharm/help/using-ipython-notebook-with-pycharm.html
您需要做的是在项目工具窗口中创建一个 ipython 笔记本。这是一个扩展名为“.ipynb”的文件。右键单击要放置文件的目录,选择“新建-
它无法判断函数的返回是什么(不需要实际运行脚本,这就是为什么ipython知道它是什么(它实际上运行了代码并接收回了一个它可以自省的对象)
如果您想完成代码而不必实际执行脚本直到输入文本的位置,则必须执行额外的步骤
import numpy as np
m = np.random.random((3,5))
assert isinstance(m,np.ndarray)
m. #now you get code completion (since the IDE now knows the class of m, without having to execute your script)
问题内容: 通过 我可以在此处找到记录的Word对象。但是,的自动补全功能不知道该API,是否可以添加它? 问题答案: 也许在IPython中完成代码完成的最简单方法(已通过6.2.1测试,请参见下面的答案以获取与7.1兼容的代码段),而Jupyter则是运行以下代码段: 长话短说 随着被概述了一些更多的细节本指南,附带一个脚本,用于产生Python类型对应于一个给定的COM对象的类型库。 对于W
每当我创建一个函数,使其成为视图并将模板映射到它上面时,PyCharm 中的自动完成功能都可以工作。如果您输入类似 { 的内容,其中 是一个模型,并且是您的上下文对象之一,那么它将为您提供一个下拉菜单,其中包含可能的完成。 然而,如果你创建了一个基于类的视图,那么这是行不通的。我能解决这个问题吗?
当我在PyCharm中手动停止脚本时,进程以退出代码137结束。但是我没有停止剧本。还有出口代码137。有什么问题? Python版本是3.6,在运行xgboost.train()方法时进程完成。
问题内容: 我想在Eclipse上完成Opencv 2.3的源代码完成工作。我怎样才能做到这一点?程序可以正常运行,但是显示完成[ctrl + space]:“无默认建议”。 问题答案: 对于C / C ++: 在Eclipse中使用CDT 在项目的根目录中,创建项目的Makefile: cmake -G’Eclipse CDT4-Unix Makefiles’ 使用 Eclipse- > Fil
我只是尝试在我的 django 项目中使用 HAML,它工作正常^^ 但是,在编写漂亮的 HAML 代码时,PyCharm 拒绝为 django 模板标签提供任何代码完成或语法突出显示,例如在 HTML 文件中。 我需要以不同的方式配置PyCharm吗?还是用PyChar无法在HAML文件中获得“Django支持”? 先谢谢了
你使用的编程语言会影响你写的代码。它们会影响你代码的可靠性、安全性和性能,同时也影响它阅读、重构和扩展的难度。你所熟知的语言也会改变你的思维方式,影响你设计软件甚至是使用软件的方式。