跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI

VS Code + WSL 下 GitHub 访问与 Copilot 连接问题解决方案

VS Code 结合 WSL 开发时,常遇 GitHub 克隆失败及 Copilot 长时间 Loading 问题。根源在于 WSL 网络层与 Windows 主机出口 IP 动态变化导致代理失效。解决方案包括清理旧代理配置、测试直连、在 VS Code 设置中禁用系统代理并配置 NO_PROXY,以及通过 Shell 脚本自动检测 hosts IP 并注入环境变量实现永久生效。

月亮邮递员发布于 2026/3/22更新于 2026/9/458 浏览

VS Code + WSL 下 GitHub 访问不稳定 & Copilot/Codex 一直 Thinking 的完整解决方案

本文记录一次开发环境排查过程:从 VS Code + WSL 环境下 GitHub 克隆失败,到 Copilot/Codex 长时间停在 "Thinking…" 的完整解决步骤。

📌 一、问题概述

使用 VS Code + WSL 进行开发时可能遇到以下问题:

❌ 1. Git clone 失败
fatal: unable to access 'https://github.com/...': Failed to connect to 172.xx.xx.xx port xxxx 
❌ 2. VS Code Copilot / Codex 一直 "Thinking…"
  • 无法生成补全
  • 长时间转圈
  • VS Code 日志提示连接境外服务失败

🔍 二、核心原因(理解网络结构非常重要)

WSL 的网络结构分为 3 层:

层级属于哪里特点
Windows 主机VS Code 本体运行、网络辅助软件运行使用主机网络
WSL LinuxGit、curl、Copilot 后台运行127.0.0.1 指的是 WSL 自身
Remote WSL 扩展VS Code 与 WSL 的桥梁同时依赖两端的网络配置
❗关键点:

WSL 中的 127.0.0.1 不是 Windows,而是 Linux 自身。
当需要访问境外服务(如 GitHub、Copilot)时,WSL 必须正确访问到主机的网络出口。

主机出口地址可通过 WSL 查询:

cat /etc/resolv.conf | grep nameserver 

示例:

nameserver 172.25.176.1 

这个地址每次重启电脑可能变化,因此很多网络相关设置会失效。

⚙️ 三、Git clone 不稳定的解决方案

1️⃣ 清理错误的网络配置
git config --unset http.proxy 
git config --unset https.proxy 
git config --global --unset http.proxy 
git config --global --unset https.proxy 
unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxy ALL_PROXY all_proxy 
2️⃣ 测试 WSL 是否能直连 GitHub
curl -I https://github.com 

返回 HTTP/2 200 说明已能正常访问。

3️⃣ 如果你使用了'网络辅助工具'

则需要在 WSL 中写入对应的 主机出口地址:

export HTTP_PROXY="http://172.25.176.1:xxxx"
export HTTPS_PROXY="http://172.25.176.1:xxxx"
git config --global http.proxy http://172.25.176.1:xxxx 
git config --global https.proxy http://172.25.176.1:xxxx 

注意:
此处的 xxxx 代表你的'连接中转端口'(常见为 7890/10809 等)。

💡 四、VS Code Copilot/Codex 一直 Thinking 的解决步骤

1️⃣ 修改 VS Code 配置(安全版)
Ctrl + Shift + P → Preferences: Open Settings (JSON) 

写入:

{"http.proxySupport":"on","http.systemProxy":false,"http.proxyStrictSSL":false,"terminal.integrated.env.linux":{"NO_PROXY":"localhost,127.0.0.1,::1,.local"}}

⚠️ 不要在这里写死 "http.proxy",因为主机出口 IP 是会变化的。

VS Code 会自动继承 WSL 环境变量。

🚀 五、永久解决:自动检测并更新 WSL 的网络出口(脚本版)

将下面的脚本保存为:

~/fix_vscode_wsl_proxy.sh 
▶️ 脚本内容(国内安全版,已完全脱敏)
#!/usr/bin/env bash
set -e 
# ==============================
# VS Code + WSL 外网连通性一键修复脚本
# 可在访问境外开发资源(如 GitHub、Copilot)异常时使用
# ==============================
PORT="${PORT:-7890}"
echo "🔍 正在读取主机出口 IP ..."
HOST_IP=$(awk '/^nameserver/ {print $2; exit}' /etc/resolv.conf || true)
if [ -z "$HOST_IP" ]; then
    echo "❌ 未找到 nameserver,请手动检查 /etc/resolv.conf"
    exit 1
fi
echo "✅ 主机出口 IP: ${HOST_IP}"
echo " 使用端口:${PORT}"
export HTTP_PROXY="http://${HOST_IP}:${PORT}"
export HTTPS_PROXY="http://${HOST_IP}:${PORT}"
echo
echo "🧪 正在测试 Copilot 连接 ..."
set +e 
curl -I --max-time 5 --proxy "http://${HOST_IP}:${PORT}" https://api.githubcopilot.com 
set -e 
echo
echo "📝 写入 ~/.bashrc 自动配置 ..."
BASHRC="${HOME}/.bashrc"
MARK="WSL auto network config"
if ! grep -q "${MARK}" "$BASHRC" 2>/dev/null; then
    cat >> "$BASHRC" <<EOF
# === ${MARK} ===
HOST_IP=\$(awk '/^nameserver/ {print \$2; exit}' /etc/resolv.conf)
if [ -n "\$HOST_IP" ]; then
    export HTTP_PROXY="http://\${HOST_IP}:${PORT}"
    export HTTPS_PROXY="http://\${HOST_IP}:${PORT}"
fi
# === End of ${MARK} ===
EOF
    echo "✅ 已写入 ~/.bashrc"
else
    echo "ℹ️ 自动配置已存在"
fi
echo "🎉 完成,重启 VS Code (Remote WSL) 可立即生效。"

▶️ 使用方法

nano ~/fix_vscode_wsl_proxy.sh 
chmod +x ~/fix_vscode_wsl_proxy.sh 
~/fix_vscode_wsl_proxy.sh 
source ~/.bashrc 

🧪 六、检查是否成功

  • Git 能正常 clone
  • curl 可以正常访问 GitHub
  • Copilot 能正常返回 200
  • VS Code 不再卡 "Thinking…"
  • 重启电脑后依旧不用手动配置

📦 七、总结

问题根因解决方案
Git clone 失败出口 IP 变化、未正确连接外部服务在 WSL 中更新主机出口 IP
Copilot 卡住VS Code 未继承正确的网络代理VS Code 使用 WSL 环境变量
每次重启都要重新设置主机 IP 每次变化使用自动修复脚本

目录

  1. VS Code + WSL 下 GitHub 访问不稳定 & Copilot/Codex 一直 Thinking 的完整解决方案
  2. 📌 一、问题概述
  3. ❌ 1. Git clone 失败
  4. ❌ 2. VS Code Copilot / Codex 一直 "Thinking…"
  5. 🔍 二、核心原因(理解网络结构非常重要)
  6. ❗关键点:
  7. ⚙️ 三、Git clone 不稳定的解决方案
  8. 1️⃣ 清理错误的网络配置
  9. 2️⃣ 测试 WSL 是否能直连 GitHub
  10. 3️⃣ 如果你使用了“网络辅助工具”
  11. 💡 四、VS Code Copilot/Codex 一直 Thinking 的解决步骤
  12. 1️⃣ 修改 VS Code 配置(安全版)
  13. 🚀 五、永久解决:自动检测并更新 WSL 的网络出口(脚本版)
  14. ▶️ 脚本内容(国内安全版,已完全脱敏)
  15. ==============================
  16. VS Code + WSL 外网连通性一键修复脚本
  17. 可在访问境外开发资源(如 GitHub、Copilot)异常时使用
  18. ==============================
  19. === ${MARK} ===
  20. === End of ${MARK} ===
  21. ▶️ 使用方法
  22. 🧪 六、检查是否成功
  23. 📦 七、总结

更多推荐文章

查看全部
  • 渗透测试之电脑(PC)端小程序抓包教程
  • Win10 彻底关闭 Microsoft 365 Copilot 弹窗的 6 种方法
  • 在 VMware 中搭建 macOS 15 并解决 Apple ID 登录错误
  • 跑通本地知识库:Chroma + Ollama + Llama 3.1 实操记录
  • Blob 文件格式详解与前端应用
  • LM Studio 本地部署实战:模型格式识别与加载配置
  • AI 时代技术民主化:文科生为何成最大受益者
  • Spring Bean 作用域、生命周期与自动装配源码解析
  • 2025 亚洲 WEB3 商业生态创新峰会:MANAGAME 与 ETO 联合发布 GameFi3.0 战略
  • 《Agent Runtime 工程化》第六章 MCP 与 Provider 抽象
  • MaxKB4j 基于 Java 的 RAG 知识库与 LLM 工作流平台技术解析
  • Ψ0 人形全身 VLA:基于人类视频预训练与真实机器人后训练及 AMO 下肢控制
  • AI 入门:核心术语解析与常见误区澄清
  • GitHub 与 Google 第三方登录 OAuth 配置指南
  • JDK 17 官方下载与安装配置指南
  • 本地部署 Ollama 大模型与 Open WebUI 离线使用指南
  • Python pip 常用命令详解与使用技巧
  • 智能座舱发展趋势与 Android 框架源码核心解析
  • Flutter 开发环境搭建:从零到第一次运行
  • LangChain-Chatchat 本地知识库部署与实践

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online