织梦CMS - 轻松建站从此开始!

欧博ABG官网-欧博官方网址-会员登入

解决 VS Code 部分扩展联网失欧博败的问题

时间:2024-06-09 15:07来源: 作者:admin 点击: 18 次
解决 VS Code 在 Remote - WSL 环境中因为代理设置错误而导致的扩展联网失败的问题

一、现象 环境说明

Windows 11

WSL2

Ubuntu 20.04

VS Code 1.69.2

Clash for Windows 0.19.22 + TUN Mode

在 VS Code 中,欧博通过 Remote - WSL 打开 Ubuntu 子系统中的项目,IntelliCode 扩展无法下载模型,WakaTime 扩展无法上传统计数据。

二、排查问题

Clash for Windows 保持打开状态,皇冠并使用 TUN Mode;

在 VS Code 中打开 Windows 本地项目,IntelliCode 和 WakaTime 可以正常工作;

在 Ubuntu 子系统终端中,执行 curl windows.net 和 curl wakatime.com 正常返回结果;

在 VS Code 中打开 Ubuntu 子系统的远程项目,DG游戏IntelliCode 和 WakaTime 无法正常工作;

关闭 Clash for Windows,在 VS Code 中打开 Ubuntu 子系统的远程项目,IntelliCode 和 WakaTime 正常工作;

三、猜测原因

Clash for Windows + TUN Mode 对 Ubuntu 子系统中的 vscode-server 没有起到代理的作用,欧博注册但是 IntelliCode 和 WakaTime 在没有代理的情况下应该也可以正常工作,所以怀疑 vscode-server 被配置了错误的代理。

开启 Clash for Windows 之后,Windows 系统代理一般被设置为 127.0.0.1:7890,欧博代理VS Code 会继承这个代理设置,Ubuntu 子系统中的 vscode-server 应该也继承了这个代理设置。但是 Ubuntu 子系统在 127.0.0.1:7890 上并没有代理服务,导致 vscode-server 联网失败。

四、解决方法

打开 VS Code 设置,并搜索 "proxy" 可以看到:

vscode_proxy_settings.png

VS Code 的代理设置,会从 "http_proxy" 和 "https_proxy" 环境变量中继承,所以在 Ubuntu 子系统中正确设置 "http_proxy" 和 "https_proxy" 环境变量应该可以解决问题。

在 Ubuntu 子系统的 ~/.bashrc 文件末尾加上下面代码:

# 获取 Host IP WINDOWS_IP=$(ip route | grep default | awk '{print $3}') PROXY_HTTP="http://${WINDOWS_IP}:7890" # 设置环境变量 export http_proxy="${PROXY_HTTP}" export https_proxy="${PROXY_HTTP}"

重新在 VS Code 中打开 Ubuntu 子系统的远程项目,发现 IntelliCode 和 WakaTime 仍然无法正常工作,经排除发现 Windows 防火墙阻止了 Ubuntu 子系统访问 Host IP。

在 Windows 防火墙中增加一条规则:

New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow

另外,Clash for Windows 需要启用 Allow LAN。

至此,问题解决。

(责任编辑:)
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:
发布者资料
查看详细资料 发送留言 加为好友 用户等级: 注册时间:2024-11-15 00:11 最后登录:2024-11-15 00:11
栏目列表
推荐内容