我正在使用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
.
如果您经常这样做,那么您可以制作一个围绕的实时模板。