停止PyCharm的自动完成从覆盖我的光标前面的代码

ins*_*get 12 python code-completion pycharm

我正在使用PyCharm编写一些python代码,并注意到我经常遇到以下问题:

我写了一行像这样的代码

for item in myList:
Run Code Online (Sandbox Code Playgroud)

后来,我意识到我也想要索引item,所以我尝试将这一行转换为:

for i,item in enumerate(myList):
Run Code Online (Sandbox Code Playgroud)

为了将第一行转换为第二行,我将光标放在左边item并输入i,.然后,我把光标放在左边myList并输入enu; 到这个时候,代码完成者建议我可能想要输入enumerate,这正是我所追求的行为.当我点击tab执行建议时enumerate,我注意到我的线路变成了

for i,item in enumerate:
Run Code Online (Sandbox Code Playgroud)

myList已被覆盖!
我期望的行为是这样的:

for i,item in enumerate(myList):
Run Code Online (Sandbox Code Playgroud)

紧跟在光标移动到了右侧myList:.

有什么方法可以让Pycharm按照我的期望行事吗?

万一重要,我的开发环境是Mac OSX 10.7.5(Lion)

Cra*_*der 13

完成使用后,此行为是设计使然Tab.请使用Enter而不是Tab来插入完成变体而不是覆盖.

代码完成设置对话框还可以通过键入点,空格等来插入变量.

  • 有没有办法可以交换这些行为? (5认同)
  • @ canyon289 [有!](/sf/answers/2479811491/)这已经使我发疯了很久了,我只是花时间寻找某种解决方案。 (2认同)