wsl中copilot失效是因网络栈与代理机制冲突,需将remote[wsl: ubuntu]中http.proxysupport设为off、取消勾选http.uselocalproxyconfiguration,并清空http.proxy值。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在WSL中启用GitHub Copilot时,VSCode远程连接后补全功能完全失效、聊天窗口卡在“正在准备Copilot”,这是因WSL独立网络栈与VSCode代理机制冲突导致的典型故障,不是插件未安装或账号未登录的问题。
确认WSL2已正确启用并设为默认
以管理员身份打开PowerShell,依次执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart → dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart → 重启电脑 → 运行 wsl --set-default-version 2
【必须重启后再执行wsl --set-default-version 2,否则命令静默失败】
安装VS Code WSL扩展并连接到Ubuntu
在Windows版VS Code中,打开扩展面板(Ctrl+Shift+X),搜索“Remote - WSL”,点击安装并重载窗口。
按 Ctrl+Shift+P 打开命令面板,输入“WSL: New Window Using Distro”,选择已安装的Ubuntu发行版(如Ubuntu-22.04)。
新窗口左下角状态栏显示“WSL: Ubuntu”即表示连接成功,此时所有操作都在Linux环境中运行。
修复Copilot网络连接失败的核心配置
方法一:关闭WSL环境中的代理继承(推荐首选)
在已连接WSL的VS Code窗口中,打开设置(Ctrl+,)→ 切换到“Remote [WSL: Ubuntu]”设置标签 → 找到 http.proxySupport → 将其值从默认的“override”改为 【off】。
方法二:禁用本地代理同步
在同一设置页中,找到 http.useLocalProxyConfiguration → 取消勾选该选项。这一步能防止Windows系统级代理配置被错误注入WSL Node.js进程。
方法三:手动清空代理地址(仅当明确配置了HTTP代理时才需操作)
检查 http.proxy 设置项是否非空,若存在类似 http://127.0.0.1:10809 的值,直接清空它。WSL本身不依赖Windows代理,填入反而触发fetch路径异常。
验证Copilot是否正常工作
第一步:确保已登录GitHub账号并在VS Code中启用Copilot(设置中搜索“copilot”并开启“GitHub Copilot: Enabled”)。
第二步:新建一个 .py 文件,在空白行输入 def → 按 Tab 或回车等待几秒 → 观察右下角是否弹出补全建议框。
第三步:打开命令面板(Ctrl+Shift+P),输入“GitHub Copilot: Open Chat”,确认聊天窗口能加载并响应提问。
若前两步任一失败,请返回上一节重新核对 http.proxySupport 和 http.useLocalProxyConfiguration 两项配置是否已生效。











