问题描述
近期在 Visual Studio 2022 中使用 Copilot 时,一直显示'完成你的请求时出现了问题。请重试'。

点击'显示输出日志'发现可能是网络原因,但在浏览器中访问显示正常(非 404)。

排查过代理、防火墙和网络连接。防火墙已关闭,未设置全局代理(仅使用浏览器插件),且 VSCode 中 Copilot 可正常使用,因此网络原因存疑。
解决方案
通过 AI 助手建议的一系列测试命令进行排查:
$ErrorActionPreference='Continue'; Write-Host '=== Env Proxy Vars ==='; gci env: | ? { $_.Name -match 'PROXY|COPILOT' } | sort Name | ft -AutoSize; Write-Host '=== WinHTTP Proxy ==='; netsh winhttp show proxy; Write-Host '=== DNS ==='; Resolve-DnsName api.githubcopilot.com | select -First 5 | ft -AutoSize; Write-Host '=== TCP 443 ==='; Test-NetConnection api.githubcopilot.com -Port 443 | fl
结果显示可以正常连接到 Copilot 域名。
检查环境变量和注册表中的代理设置:
$ErrorActionPreference='Continue'; '=== Env Proxy Vars ==='; Get-ChildItem env: | Where-Object { $_.Name -match 'PROXY|COPILOT' } | Sort-Object Name | Format-Table -AutoSize
netsh winhttp show proxy
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable ; reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer ; reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL
确认代理未设置,DNS 解析也正常。
但使用 curl 测试模型列表时出现异常:
curl.exe -I https://api.githubcopilot.com/models
curl.exe -vk https://api.githubcopilot.com/models
curl 无法访问到模型列表,推测域名被墙。尝试添加代理后访问成功:
curl.exe -x http://127.0.0.1:10809 -vk https://api.githubcopilot.com/models
为不影响其他应用,仅给命令行设置代理并通过批处理文件启动 VS2022:
set HTTP_PROXY=http://127.0.0.1:10809
set HTTPS_PROXY=http://127.0.0.1:10809
set NO_PROXY=localhost,127.0.0.1
set COPILOT_USE_DEFAULTPROXY=1
start "" "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe"
设置 COPILOT_USE_DEFAULTPROXY 变量后生效,即可正常使用 Copilot 写代码。


