WSL 发行版对 VSCode 或 IntelliJ IDE 不可见

问题描述 投票:0回答:1

几周来我遇到了这个非常奇怪的问题并且无法解决:

我通常在 WSL2 上编写代码,它曾经在这台机器和用户上运行良好。但现在,每当我尝试在 Visual Studio Code 中打开远程资源管理器或尝试在 IntelliJ IDE 中打开“从现有文件创建新项目”时,都不会显示 WSL 发行版。

它们仍然在那里 -

wsl -l -v
列出了它们,我可以在终端中打开它们。它们内部的所有内容都可以工作(除了打开 VSCode)。

在 Windows 资源管理器中,它们的文件系统确实会显示。但在 Visual Studio Code 中,发行版列表为空,当我打开远程资源管理器时,我收到一条错误消息,指出“无法读取未定义的属性(读取“名称”)”。在 IntelliJ IDE 中,只有我的本地驱动器出现在曾经有 WSL 附加条目的地方。 当我导航到终端中 WSL 中的目录然后执行

code .

时,它会打开一个 VSCode 窗口,但随后我收到通知“未找到 WSL 发行版”。

有趣的是,以前在 IntelliJ IDE 中打开的项目仍然可以打开(但我遇到了行尾问题)。

我尝试在 VSCode 中重新安装 WSL 扩展,重新启动 LXSSManager-Service,使用

netsh winsock reset

netsh int ip reset
ipconfig /release
ipconfig /renew
ipconfig /flushdns
进行网络重置 - 并且我尝试完全重新安装 VSCode。 ..无济于事。我还查看了
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\
下的 WSL 发行版注册表项,它们对我来说看起来不错。
我还卸载了我的非主要发行版并重新安装了它们 - 所有已安装的发行版(无论是旧的还是新安装的)都存在同样的问题。

遗憾的是,我无法指定如何重现该问题,因为在此设置中所有内容都可以正常工作,并且没有任何内容被故意更改。

我的 Windows 版本是

Windows 11 Version 22H2 (OS Build 22621.963)

    

visual-studio-code intellij-idea phpstorm windows-subsystem-for-linux wsl-2
1个回答
0
投票
TLDR:尝试在 cmd.exe 中运行

setx WSL_UTF8 0 并重新启动 VS Code


我在 VS Code 1.81.1 和之前的版本中也突然遇到了同样的 

No WSL distros found

问题。


上周我在 Ubuntu 16.04 中的项目运行良好。我尝试了类似的新发行版、WSL 扩展和 VS Code 安装,但没有任何区别。

变化的是 WSL 调试终端名称被破坏了:

https://github.com/microsoft/vscode-remote-release/issues/3910#issuecomment-722269579

的代码返回空白,但需要来自

wsl -l的UTF16,因此VS Code尚未与新版本兼容WSL_UTF8 环境变量。

在批处理脚本中使用 WSL_UTF8 选项的安全方法示例可在 
https://stackoverflow.com/a/76970840/1919793

找到

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