智能感知自动完成功能不适用于 vscode 中的 wsl

owa*_*in- 10 visual-studio-code windows-subsystem-for-linux

我一直在将 vscode 设置为 python 开发的 IDE。我使用适用于 Linux 的 Windows 子系统,并通过 anaconda 安装了我的 python 软件包。

我的问题是自动完成功能无法按预期工作。例如,在 wsl 之外,如果我使用 numpy 包,我可以获得自动补全:

wsl 之外自动完成

但是,在 wsl 自动完成内部找不到 numpy.linalg (如上面的示例所示):

wsl 内自动完成

提前致谢!

编辑:如果该信息相关,我目前正在使用 wsl1!

CJ *_*ath 1

正如@Adriana Hern\xc3\xa1ndez提到的您也需要在 WSL 中安装扩展。

\n

VSCode WSL 文档在这里介绍了这些内容

\n

简而言之,如果您转到扩展选项卡,您将看到标有“Install in WSL...”的 Python。单击安装并重新加载后,它应该可以工作。\n如果没有,您可能需要选择另一个解释器(可能是您的 venv 中的解释器。)

\n

然后按 Ctrl+Shift+P

\n
    \n
  • Python:选择解释器
  • \n
  • 然后选择所需的 python 解释器(很可能是您的 venv 中包含所有包的解释器)
  • \n
\n

对我有用的是创建一个 venv,激活然后从 WSL 启动 VSCode,code .\n第一次您需要将扩展​​安装到 WSL,但之后应该就可以了。

\n

  • 你提到的都已安装。- 本地和 WSL2 中的扩展 - 切换到不同的解释器 我使用 conda virtual env,无论切换到任何人,它仍然无法工作。此外,它正在我使用的另一台 Ubuntu 服务器上运行。我已检查并重新安装了所有扩展并重置了 settings.json,确保它们之间没有区别,但它在 WSL2 中仍然不起作用。 (3认同)