不知道从什么时候开始,我在 Visual Studio 2022 中使用 Copilot 时老是遇到“完成你的请求时出现了问题,请重试”的提示。

查看输出日志后,我怀疑可能是网络问题,但在浏览器中打开链接却显示正常,404错误并没有影响连接。

我试过很多AI的建议,归纳起来大概就是以下几点:
- • 设置代理
- • 防火墙问题
- • 网络连接问题
不过,经过一番检查,我早就关掉了防火墙,代理也只是用浏览器插件,并没有全局设置。而且网络也没问题,因为我在 VSCode 中用 Copilot 是完全没问题的。
解决方案
今天我决定再试试AI的帮助,便把之前的错误信息复制给了GPT5.2,它随后给我了一系列的测试命令(由于我是在VSCode里用的Copilot,只需一直点击允许,它就能执行命令并返回结果)。
$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 “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings” /v ProxyEnable ; reg query “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings” /v ProxyServer ; reg query “HKCUSoftwareMicrosoftWindowsCurrentVersionInternet Settings” /v AutoConfigURL

如果发现代理没有设置,那就可以放心使用网络了。
接下来,确认你的DNS解析是否正常,你可以使用这个命令:
Resolve-DnsName api.githubcopilot.com | Select-Object -First 5 | Format-Table -AutoSize
再试试这个命令来测试连接性:
Test-NetConnection api.githubcopilot.com -Port 443 | Format-List

如果一切正常,DNS解析也没有问题,那就可以放心使用API了。你可以试试以下命令来获取API模型信息:
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

看起来就是域名被墙了,国内网络无法顺利访问。使用代理应该就能解决问题。为了不影响其他应用,可以只在命令行设置代理,然后从命令行启动VS,顺便可以把它写成一个bat文件,方便使用。
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 FilesMicrosoft Visual Studio2022CommunityCommon7IDEdevenv.exe"

现在终于能开心地用Copilot写代码了。之前尝试过全局代理,发现原来还得设定COPILOT_USE_DEFAULTPROXY这个变量才能生效呢。
