如何在 VSCode 中使用自动完成来防止 Python 的对象名称重复?

How to prevent the repetition of object name for Python using autocompletion in VSCode?

我正在使用 VSCode 在 Jupyter Notebook 中编写 Python 代码。安装的相关扩展是 Python, Pylance and Jupyter。当我尝试使用制表符自动完成任何对象的方法名称时,就会出现问题。例如,如果建议框如下所示:

然后我按 Tab 键接受建议,对象名称 database 重复,即代码看起来像 dataset.dataset.as_numpy_iterator 而不是 dataset.as_numpy_iterator。如何删除此对象名称重复?谢谢!

它看起来是由您安装的某个扩展程序提供的。如Tabnine AIKite等。但我无法在两者上重现它。

我不知道是哪个扩展在你的图片中提供的,它看起来像是在你的图片中被切断了。但它不由 Python 扩展名提供。

在浪费大量时间寻找修复后,我尝试使用 VSCode 的最新 Insider 版本(而不是稳定版本),结果令人惊讶 - 它没有这个问题。此外,即使在稳定版本中,它也只出现在 Jupyter Notebooks 中,而不出现在独立的 .py 文件中。我将此作为答案发布,这样其他人就不必在这上面浪费更多时间了!

我遇到了同样的问题。只需 禁用并重新启用 Jupyter Keymap 扩展就解决了我的问题。

从相关搜索结果的缺乏来看,这个问题似乎只是在极少数情况下才会出现...