PyCharm 自动导入与自动补全

15 投票
3 回答
8194 浏览
提问于 2025-04-16 19:12

我第一次试用PyCharm,之前一直用Eclipse和PyDev。到目前为止,感觉还不错。

不过,有一个功能我找不到,具体是这样的:

在PyDev的自动补全列表中,当你输入一个在当前文件范围内不存在的符号时,它会显示出这个符号所在的模块列表。如果你选择了这个自动补全的选项,PyDev不仅会帮你补全这个符号,还会自动添加导入语句,解决依赖问题。

请问PyCharm有这个功能吗?

目前看来,它似乎只会补全已经在文档范围内的内容。

3 个回答

0

这些变体已经存在,只是为了性能原因没有包含在基本的自动补全和自动弹出的补全中。如果你想看到它们,需要在同一个地方再调用一次补全,或者使用一个专门的快捷键(可以在键位设置中搜索“第二次基本补全”)。

自动导入扩展补全演示

0

我觉得这肯定是个错误或者功能设计得不好。

在刚安装的 pycharm 2021.3.3 中,当我写代码的时候,IDE(集成开发环境)会自动根据代码中的一些随机词汇默默地添加一些包。这样一来,环境就坏掉了。

这里有个例子(来自 pycharm 的事件日志):

source /home/user/.cache/pypoetry/virtualenvs/project-_uWvZL1R-py3.9/bin/activate
/home/user/anaconda3/bin/poetry add self

Using version ^2020.12.3 for self

Updating dependencies
Resolving dependencies...

Writing lock file

Package operations: 2 installs, 0 updates, 1 removal

  • Removing setuptools (62.6.0)
  • Installing decorator (5.1.1)
  • Installing self (2020.12.3)

  EnvCommandError

    × python setup.py egg_info did not run successfully.
    │ exit code: 1
    ╰─> [1 lines of output]
        ERROR: Can not execute `setup.py` since setuptools is not available in the build environment.
        [end of output]
18

查看 设置 | 编辑器 | 常规 | 自动导入

撰写回答