Ton*_*Nam 5 visual-studio-code wsl2
您可以通过 VSCode 在 WSL2 中打开一个旨在在 Linux 中构建的项目,这真是太好了。但是终端的行为不同,如果我在 WSL2 上运行相同的命令。这是我为复制我的问题所做的步骤:
cd ~/myappcode .在 linux 环境中打开。在左下角,它显示“WSL:Ubuntu”。我在 linux 上打开项目的方式真的很酷,就像我在哪里使用 linux 计算机一样。powershell.exe 'echo "hello-world"'。我收到以下错误:<3>init: (5450) ERROR: UtilConnectToInteropServer:300: 连接失败 2
如果我打开 WSL2 并运行相同的命令,powershell.exe 'echo "hello-world"'它就可以工作。如果使用 vscode 终端,它就不起作用。奇怪的是它曾经有效。如果我重新启动计算机,它将开始在 vscode 上工作并最终停止工作。解决方案是使用单独的 WSL2 终端。但是如果我可以使用 vscode 集成终端就好了。
另一种解决方案是不使用 powershell。但我需要使用 powershell,因为 WSL2 不支持 USB。我正在构建一个 esp32 项目。构建后,我需要将代码闪存到我的微控制器。我必须通过 Windows 执行此操作,这就是我使用 powershell 的原因。我也可以在 Windows 上构建我的项目,但我已经将所有项目配置为在 linux 上进行编译和智能感知。
Ton*_*Nam 14
终于成功了。我将此添加到~/.zshrc. 如果您使用 bash 将其添加到~/.bashrc
fix_wsl2_interop() {
for i in $(pstree -np -s $$ | grep -o -E '[0-9]+'); do
if [[ -e "/run/WSL/${i}_interop" ]]; then
export WSL_INTEROP=/run/WSL/${i}_interop
fi
done
}
Run Code Online (Sandbox Code Playgroud)
如果它停止工作,我就调用该函数。
我从这个链接得到了这个解决方案:https ://github.com/microsoft/WSL/issues/5065
| 归档时间: |
|
| 查看次数: |
1882 次 |
| 最近记录: |