如何使用 Neovim 和 LSP 从另一个 Python 模块导入光标下的符号

问题描述 投票:0回答:1
我是一名 Python 开发人员,想使用 Neovim 作为我的主要代码编辑器。我已经成功使用

lspconfig

mason
null-ls
nvim-cmp
 和其他插件配置自动完成、linting 和自动格式化。然而,我仍然缺少在 PyCharm 中编码时经常使用的一个很棒的功能:使用“上下文操作”,我能够导入当前位于光标下的符号,即类、函数或模块,如如下面的截图所示:

调用“上下文操作”来导入光标下的类

但是,我的 Neovim 设置中缺少此功能。我认为某些语言服务器的“代码操作”功能应该为我提供从某个模块导入符号的选项,但我已经尝试了几种 Python 语言服务器并且没有锁定。我尝试过的语言服务器是:

  • jedi-language-server
  • pyright
  • basedpyright
  • pylsp
    .
这是我在“路径”符号上调用“代码操作”时安装的

jedi-language-server

ruff_lsp
 得到的屏幕截图:

代码操作没有导入建议

总而言之,问题是

如何在 Neovim 设置中拥有此“导入”功能

python neovim language-server-protocol nvim-lspconfig python-language-server
1个回答
0
投票
coc-nvim 与 coc-pyright 开箱即用,可使用 coc“正常”代码完成弹出窗口导入建议。这是我的设置:

enter image description here

选择完成后会自动添加:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.