vs code server for wsl closed unexpectedly

前言:

我的Windows 版本: 10.0.19045.4291 (如果你是Win11或者你要使用WSL2请谨慎)

之前是可以用的,但安装Vmware(并安装了Ubuntu进行了一番实验后,就出现如标题所述问题)

问题:

好久没有使用vscode远程操作了,今天打开vscode后突然就报错如下:

根据网上朋友遇到的情况,我在powershell中分别试过以下命令: 

netsh winsock reset

wsl.exe --shutdown 

bcdedit /set hypervisorlaunchtype auto 

 最后我发现在Powershell中输入wsl -l -v显示state均为Stopped,而且版本均为2;

我想我大概知道原因了,这与日前我的Vmware “安装之路” 有关; 

最后解决我的问题的方法如下(我重装了UBuntu):

0.注销名为 "Ubuntu" 的 WSL 实例

wsl --unregister Ubuntu

【注】:此时再wsl -l -v的话,那个名为Ubuntu的实例就没有了,只剩下我的Ubuntu-20.04这是虚拟机用的实例; 

1.查看电脑hyper -v选项:

“控制面板”-“程序和功能”-左上角的“启用或关闭Windows功能”-勾选“Hyper -v”和“适用于Linux的Windows子系统”;

如果你没有找到Hyper -v这个选项(有可能是你之前安装VMware给删除了(我就是这样),也有可能Win11家庭版就没有这个选项),总之你只需要重新安装即可,具体请看链接

2.我最后尝试在Microsoft Store里重新下载Linux发行版(Ubuntu):

点击“打开”后你可能会遇到这样的问题(如果没有遇到,请跳过):

 即出现了0x80370102错误,请看链接

解决后,它会安装成功,然后你code . 进入vscode;

看起来是成功了:

准备写点hello world:

首先记得在vscode中安装WSL插件(上图);

 

再创建一个文件夹,以及test.cpp文件(上图);

在test.cpp里写点代码:

打开终端(快捷键是ctrl+`)【注】 ` 这个键是数字1左边那个键];

准备使用g++编译该文件,发现g++没有安装,故sudo apt install g++;

看来是需要更新下载源:

sudo apt-get update

再安装g++:

sudo apt install g++

再编译运行:

远程连接服务器:

如果你需要远程连接服务器(我之前一直使用xshell连接的,但是vim实在是不方便,所以准备切回vscode),请接着看:

安装下图插件:

按键盘F1后,点击下图:

如上图,输入登录用户名@公网IP(主机号);

举个例子ssh zhangsan@8.130.13.46

回车后,点击第一行(这是添加你的用户以及对应主机到本地配置文件,一般都是第一行,具体看你你用户名称),然后你的vscode右下角会出现:

证明主机已经被添加:

点击“打开配置”可以看到你的本地配置文件,然后如下图,更改方框中WSL为远程(隧道/SSH),然后选择在当前窗口连接或者新窗口连接(如下图右下角方框),选择Linux(如果是的话),然后输入密码连接即可,直到连接成功(💻符号会变为绿色);

你也可以点击右边的“连接”,选择Linux(如果是的话),然后输入密码连接即可;

然后进入文件夹:

创建.cpp文件,写下SSH远程机器的第一行代码hello ssh!

也许你在安装的时候会遇到如下图问题,点击 “允许” 即可,这与vscode和远程机器中库的版本有关,具体请看 链接

当然,途中我ssh连接时参考了这篇文章

你如果还想连接第二台主机时,你就按F1,然后ssh即可(同上);

另外为了更好地支持C++11,你还可以在设置中修改:

你还可以使用GDB来调试代码:

安装扩展:

(删掉默认配置,然后添加配置:GDB启动)

(略加修改);

(如果出现上图,就是你的可执行文件output的路径不对);

<全文完>

 参考链接:

链接

链接

如何使用vscode+wsl+vscode server来开发Linux程序(B站)

  • 32
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,"vs code server for wsl closed" 的意思是 VS CodeWSL 服务器已关闭。这可能是由于许多原因引起的,例如网络连接问题、服务器崩溃或其他错误。您可以尝试重新启动服务器或检查网络连接以解决此问题。如果问题仍然存在,请尝试查看日志文件以获取更多信息。 ### 回答2: 首先,VS Code Server是一种基于Web的应用程序,可以在任何支持Node.js的计算机上运行,包括WSL(Windows Subsystem for Linux)。VS Code Server为用户提供了一个Web界面,可以使用户从任何Web浏览器或VS Code客户端编辑器中访问和操作远程WSL文件系统。 然而,如果VS Code ServerWSL上关闭,可能是由于以下几个原因: 1. 进程被意外关闭 - 如果您的WSL会话意外关闭,或者由于计算机或其他问题而重启,则会关闭VS Code Server。在这种情况下,您需要重新启动VS Code Server。 2. 端口被占用 - 如果另一个应用程序或服务正在使用与VS Code Server相同的端口(默认情况下,端口为8080),则VS Code Server将无法启动。您可以使用lsof命令(例如:lsof -i:8080)来检查正在使用该端口的进程。如果找到进程,请允许它使用其他端口,或停止进程以释放端口并重新启动VS Code Server。 3. 资源耗尽 - 如果您的WSL会话的资源已经耗尽,例如RAM或磁盘空间,则VS Code Server可能会关闭。您可以使用top指令来检查占用大量资源的进程或服务,并且考虑关闭或优化它们以释放资源并重新启动VS Code Server。 4. VS Code Server版本升级 - 如果您安装了VS Code Server的新版本,可能会导致与旧版本不兼容,从而导致VS Code Server关闭。您可以尝试使用较旧的版本或升级到最新版本来解决此问题。 总之,如果VS Code Server for WSL关闭,您可以首先检查进程是否意外关闭,检查端口是否被占用,检查资源是否耗尽,或者考虑使用较旧或最新版本的VS Code Server来修复问题。 ### 回答3: “VS Code Server for WSL Closed” 的问题可能有很多种具体情况,以下提供可能出现问题的几种可能情况以及相应的解决方案。 1. WSL 环境变动导致 VS Code 安装路径变化 在使用 WSL 环境时,由于 WSL 的独特性质,会导致在一个 WSL 环境下安装的软件路径并不是和传统 Windows 下相同的。 如果在 WSL 下安装了 VS Code,然后在 Windows 下的 VS Code 客户端中使用了 VS Code Server 连接 WSL,而此时你对 WSL 环境进行了调整导致 VS Code 路径变化,那么会导致这个“VS Code Server for WSL Closed”的错误提示。 解决办法: 你可以在 WSL 环境中运行 VS Code 客户端,进入 WSL 中的 VS Code 后,重新安装 VS Code Server 即可。 如果你同时想在 Windows 中使用 VS Code 连接 WSL 实例,那么你可以将路径进行配置,使得 VS Code 客户端能够正确地找到 VS Code Server 文件,同时配置正确的路径信息。 2. VS Code Server 标准输出带有非 UTF-8 编码字符 在某些情况下,由于 Language Server 和其他扩展程序的标准输出中包含了非 UTF-8 编码字符,可能会导致“VS Code Server for WSL Closed”的情况。 解决方案: 你可以在启动 VS Code 时设置 `--verbose` 标志,这将允许你查看 VS Code Server 输出的详细日志,从而识别错误和解决问题。 同时,你也可以通过更新对应的语言服务器来避免这一问题。 3. 终端暂存区满导致 VS Code Server 关闭 如果你正在使用 VS Code 的终端功能,那么在某些情况下,可能会因为终端暂存区满导致 VS Code Server 关闭。 解决方案: 你可以在 WSL 终端中运行 `reset` 命令,这将清空终端暂存区,避免继续出现该问题。 总之,以上是几种可能导致“VS Code Server for WSL Closed”的情况以及相应的解决方案,具体问题具体分析,你可以根据自己的具体情况进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值