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

VS Code + WSL 下 GitHub 访问不稳定及 Copilot 卡 Thinking 的解决方案

对 VS Code + WSL 环境下 GitHub 克隆失败及 Copilot 长期显示 Thinking 的问题提供解决方案。核心原因在于 WSL 网络结构与 Windows 主机网络出口 IP 动态变化导致代理配置失效。解决方法包括清理错误 Git 代理配置、测试直连、在 WSL 中配置主机出口 IP 代理、调整 VS Code 设置以继承环境变量,以及通过 Bash 脚本自动检测并更新网络出口配置,实现永久生效。

DataScient发布于 2026/4/6更新于 2026/9/1294 浏览

VS Code + WSL 下 GitHub 访问不稳定及 Copilot 卡 Thinking 的解决方案

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

特别说明:

文中提到的'网络辅助工具''连接加速端口''外网连通性优化'都指代常见的网络优化方式,用于解决访问境外开发资源时的稳定性问题(GitHub、Copilot 等)。

一、问题概述

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

更多推荐文章

查看全部
  • 基于 Python 的 AI 三工具实战:文档总结、代码生成与智能检索
  • Flutter Web 刷新后页面回退功能失效的解决方案
  • WhisperLiveKit 翻译引擎深度评测:NLLB 600M vs 1.3B 速度与质量对比
  • n8n 集成飞书机器人实战指南:常见坑点与解决方案
  • 基于 Java+Vue+MySQL 的东北特产销售系统设计与实现
  • 低成本部署 GLM-4.6V-Flash-WEB:消费级显卡也能跑通
  • LLaMA-Factory环境配置与WebUI启动全攻略:从CUDA适配到依赖踩坑
  • 蛋壳公寓深圳区域数据爬取与可视化分析
  • AI Skill 编写教程
  • Chatbox AI:多模态桌面 AI 客户端功能详解
  • Windows远程连接Ubuntu桌面完整教程
  • AI 开发核心概念解析:Vibe Coding、Agent、提示词、MCP 与 Skills
  • OpenClaw Mac 安装指南
  • 小米智能家居 Miloco 分离式部署方案
  • Git 提交与 Code Review 规范指南
  • MySQL 8.0 在 Windows 上的安装与配置实战
  • 第 n 个丑数:从暴力枚举到动态规划 + 多指针
  • 算法:双指针法判断快乐数
  • AI 大模型原理、应用与未来趋势
  • OpenClaw 基于 WSL 的一键部署与飞书配置指南

相关免费在线工具

  • 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