Python/Pycharm中Ctrl-Space无法弹出代码补全
我有一个文件。为什么当我在“r.”后面按 Ctrl-Space
时,代码补全没有反应呢?它显示“没有建议”在一个红色框里。
(这个程序现在能正常运行,输出结果是:200)
__author__ = 'hape'
import urllib.request
import urllib.response
print("Starting")
r = urllib.request.urlopen("http://www.python.org")
r. <------------ No code completion, why not?!
print (r.getcode())
在 r.
后面,代码补全为什么不弹出来呢?
4 个回答
1
检查一下你的开发环境(IDE)是否处于省电模式。如果是的话,那么代码补全功能和其他后台进程都不会正常工作。
在IDE底部的状态栏里会显示相关信息。
3
JetBrains的回应:
@CrazyCoder说得对。问题在于我们无法推断出“urllib.request.urlopen()”这个函数的正确返回类型,因为它的实现使用了一些动态的技巧,我们无法静态处理,具体来说:
通常,我们会通过在python-skeletons中使用外部注释来处理这样的复杂情况,但目前还没有为“urllib.request”模块提供类型提示。此外,在即将发布的PyCharm版本中,我们计划转向typeshed项目中收集的注释。这个项目发展得更活跃,已经包含了一些关于“urllib”的注释。要利用这些注释,你只需要把带有注释的“urllib”包放在你的解释器路径中的某个地方,这样PyCharm就能找到相应的.pyi文件。
3
你有没有查看过Pycharm的编辑器代码补全设置页面?
http://www.jetbrains.com/pycharm/webhelp/editor-code-completion.html
你可以试试开启智能类型代码补全功能吗?