【实用工具】在 VSCode Copilot 插件中使用 Claude 模型
本文讨论的是 VSCode Copilot 插件 中使用 Claude 模型时的代理问题。Copilot 插件运行在 VSCode 进程内,代理配置方式与终端环境完全不同,踩了不少坑,记录一下。
不同环境下在 VSCode Copilot 插件中使用 Claude 的条件
| 环境 | 是否需要科学上网 |
|---|---|
| Windows 本机 | 不需要,直接可用 |
| macOS 本机 | 需要科学上网 |
| 远程 SSH 服务器 | 需要在 VSCode Remote Settings 中手动指定代理地址 |
远程 SSH 服务器的配置方法
Ctrl+Shift+P → 搜索 Open Remote Settings → 在 settings.json 里添加:
1 | { |
这样 VSCode 进程本身(包括所有插件)都会走代理,Copilot 才能正常访问 Claude 模型。
端口号
7890请根据你本机的代理端口实际填写。
不 work 的方法
在找到正确方案之前,尝试过以下两种方法,但都无效。
1. 在 ~/.bashrc 的末尾设置环境变量
1 | export http_proxy=http://127.0.0.1:7890 |
或者直接加 clash on(效果等价)。每次新开终端确实会自动设置代理,终端里的命令(如 curl)也能走代理,但 Copilot 还是不行。
在 SSH config 里用 RemoteCommand 自动执行
在本机的 ~/.ssh/config 里配置:
1 | Host 172.*.*.* |
SSH 连上服务器时会自动执行 clash on,同样只对终端 shell 生效,Copilot 依然无效。
原因: 这两种方法设置的都是终端 shell 进程的环境变量。VSCode Copilot 插件运行在 VSCode Remote Server 的独立进程中,不是从终端 shell 启动的,读不到这些环境变量,代理自然不会生效。
正确的做法是在 settings.json 里配置 http.proxy ,这才是直接告诉 VSCode 进程本身走代理,能真正影响到 Copilot 的网络请求。
补充:Copilot CLI 中使用 Claude 模型
Copilot CLI 直接运行在终端 shell 进程中,不存在上述问题。只需先开启科学上网,再启动 Copilot CLI 即可
评论