阻止 PyCharm 的自动完成功能覆盖光标前的代码



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

我写了一行这样的代码

for item in myList:

后来,我意识到我也想要item的索引,所以我尝试将这一行变成这样:

for i,item in enumerate(myList):

为了将第一行转换为第二行,我将光标放在item的左侧并键入 i, 。然后,我将光标放在myList的左侧并键入enu;此时,代码完成器建议我可能需要键入 enumerate ,这正是我所追求的行为。当我点击选项卡以实现建议的enumerate时,我注意到我的行变成了

for i,item in enumerate:

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

for i,item in enumerate(myList):

光标紧靠myList:的右侧。

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

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

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

代码完成设置对话框还有一个选项,可以通过键入点、空格等来插入变体。

这是

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

您可以做的是,双击 myList ,按 CRTL+ALT+T,按 ENTER,然后按 <->。然后只需输入enumerate .

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

最新更新