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

时间:2013-10-18 19:42:56

标签: python pycharm code-completion

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

我写了一行像这样的代码

for item in myList:

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

for i,item in enumerate(myList):

为了将第一行转换为第二行,我将光标放在item的左侧并输入i,。然后,我将光标放在myList的左侧并输入enu;到目前为止,代码完成者建议我可能要输入enumerate,这正是我所追求的行为。当我点击 tab 来实现建议的enumerate时,我注意到我的行变为

for i,item in enumerate:

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

for i,item in enumerate(myList):

将光标置于myList:的右侧。

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

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

2 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:1)

这是PyCharm中的默认行为,如果在连接到另一个单词en|myList时按 TAB ,则myList将被删除。

/ kbd>,按 ENTER ,然后按< - 。然后输入myList

如果您经常这样做,那么您可以制作一个包围的实时模板。