Se sua rede usa um servidor proxy para se conectar à internet, o GitHub Copilot no VS Code pode falhar ao autenticar ou gerar sugestões. A extensão do Copilot não consegue ignorar o proxy corporativo ou doméstico automaticamente. Este artigo explica como configurar as definições de proxy para o GitHub Copilot no VS Code usando variáveis de ambiente, o arquivo settings.json e autenticação de proxy, se necessário.
Principais conclusões: Configurando o Proxy do GitHub Copilot no VS Code
- Configurações do VS Code > github.copilot.advanced: Defina a URL do proxy diretamente nas configurações do VS Code apenas para o Copilot.
- Variáveis de ambiente HTTP_PROXY e HTTPS_PROXY: Configure o proxy em todo o sistema, respeitado pelo Copilot e outras extensões.
- Autenticação de proxy com nome de usuário e senha: Adicione as credenciais na URL do proxy ou use o chaveiro para armazenamento seguro.
Como o GitHub Copilot se Conecta Através de um Proxy
O GitHub Copilot é uma ferramenta de conclusão de código baseada em IA na nuvem. A extensão do VS Code envia o contexto do código para os servidores do GitHub e recebe sugestões. Quando sua rede exige um proxy, a extensão do Copilot precisa ser informada sobre como alcançar esses servidores. O VS Code pode usar configurações de proxy de variáveis de ambiente ou de sua própria configuração. No entanto, o Copilot possui uma configuração dedicada que substitui o proxy geral do VS Code. Se você não configurar nenhum, o Copilot falhará com erros de conexão como Não foi possível acessar o serviço do Copilot ou Falha na autenticação. O proxy pode ser HTTP, HTTPS ou SOCKS. Você pode configurá-lo por máquina ou por usuário.
Pré-requisitos
Antes de configurar as definições de proxy, confirme o seguinte:
- Você tem o endereço do servidor proxy e o número da porta. Exemplo:
http://proxy.exemplo.com:8080 - Se o proxy exigir autenticação, você tem um nome de usuário e senha válidos.
- O VS Code versão 1.82 ou superior está instalado. Versões mais antigas podem não suportar a configuração de proxy do Copilot.
- A extensão do GitHub Copilot está instalada e você fez login.
Método 1: Configurar Proxy no settings.json do VS Code Apenas para o Copilot
Este método define o proxy apenas para a extensão do Copilot. Outras extensões e recursos do VS Code usarão as configurações de rede padrão.
- Abra o settings.json do VS Code
Pressione Ctrl+Shift+P para abrir a Paleta de Comandos. DigitePreferências: Abrir Configurações (JSON)e pressione Enter. Isso abre o arquivo settings.json para o usuário atual. - Adicione a configuração de proxy do Copilot
Cole o seguinte objeto JSON dentro das chaves. Substituahttp://proxy.exemplo.com:8080pela URL do seu proxy. Se precisar de autenticação, inclua-a conforme mostrado na próxima etapa."github.copilot.advanced": {
"proxy": "http://proxy.exemplo.com:8080"
} - Adicione autenticação de proxy, se necessário
Se o seu proxy exigir nome de usuário e senha, inclua-os no formato da URL:http://usuario:senha@proxy.exemplo.com:8080. Substituausuarioesenhapelas suas credenciais. Salve o arquivo com Ctrl+S. - Reinicie o VS Code
Feche todas as janelas do VS Code e reabra. A extensão do Copilot agora usará o proxy configurado. Teste digitando um comentário como// função para calcular somae aguardando sugestões.
Método 2: Configurar Proxy Usando Variáveis de Ambiente
Este método define o proxy em todo o sistema. Todas as extensões do VS Code e outros aplicativos que respeitam HTTP_PROXY e HTTPS_PROXY o usarão. Isso é útil se você tiver várias ferramentas atrás do mesmo proxy.
No Windows 10 e Windows 11
- Abra Propriedades do Sistema
Pressione Windows+R, digitesysdm.cple pressione Enter. Vá para a guia Avançado e clique em Variáveis de Ambiente. - Adicione HTTP_PROXY e HTTPS_PROXY
Em Variáveis de usuário, clique em Novo. Para Nome da variável, digiteHTTP_PROXY. Para Valor da variável, digite a URL do seu proxy, por exemplohttp://proxy.exemplo.com:8080. Clique em OK. Repita paraHTTPS_PROXYcom o mesmo valor. - Adicione NO_PROXY para endereços locais
Crie uma terceira variável chamadaNO_PROXYcom valorlocalhost,127.0.0.1. Isso impede que o Copilot tente acessar endereços locais através do proxy. - Reinicie o VS Code e o terminal
Feche todas as janelas do VS Code e quaisquer prompts de comando abertos. Reabra o VS Code. O Copilot lerá as variáveis de ambiente automaticamente.
No macOS e Linux
- Edite seu perfil de shell
Abra um terminal. Executenano ~/.zshrcounano ~/.bashrcdependendo do seu shell. - Adicione as exportações de proxy
Adicione estas linhas no final do arquivo:export HTTP_PROXY="http://proxy.exemplo.com:8080"export HTTPS_PROXY="http://proxy.exemplo.com:8080"export NO_PROXY="localhost,127.0.0.1"
Salve com Ctrl+O e saia com Ctrl+X. - Recarregue o perfil
Executesource ~/.zshrcousource ~/.bashrc. - Inicie o VS Code pelo terminal
Digitecodeno terminal para iniciar o VS Code. O Copilot usará as variáveis de ambiente.
Método 3: Configurar Proxy nas Configurações Gerais do VS Code
O VS Code tem uma configuração de proxy geral que se aplica a todas as extensões, exceto aquelas com sua própria substituição. O Copilot respeita essa configuração se você não definiu o proxy específico do Copilot.
- Abra a interface de Configurações do VS Code
Pressione Ctrl+, para abrir as Configurações. Na barra de pesquisa, digiteproxy. - Defina a URL do proxy
Procure pela configuração Http: Proxy. Digite a URL do seu proxy, comohttp://proxy.exemplo.com:8080. Se precisar de autenticação, inclua-a na URL. - Defina proxy strict SSL
Abaixo da URL do proxy, encontre Http: Proxy Strict SSL. Defina como falso se seu proxy usar um certificado autoassinado. Caso contrário, deixe como verdadeiro. - Salve e reinicie o VS Code
Feche e reabra o VS Code. O Copilot agora usará a configuração de proxy geral.
Se o Copilot Ainda Falhar ao Conectar Após a Configuração do Proxy
Copilot Retorna Timeout de Conexão ou Erros de DNS
O endereço ou porta do servidor proxy podem estar incorretos. Verifique a URL do proxy testando-a com um navegador ou curl. Por exemplo, abra um terminal e execute curl -x http://proxy.exemplo.com:8080 https://api.github.com. Se o curl falhar, o proxy não está acessível. Entre em contato com o administrador da rede para obter os detalhes corretos do proxy.
Falha na Autenticação do Copilot Após Configuração do Proxy
Se o seu proxy exigir autenticação, as credenciais na URL podem ser rejeitadas. Caracteres especiais na senha devem ser codificados na URL. Por exemplo, substitua @ por %40 e # por %23. Alternativamente, use um gerenciador de senhas ou variável de ambiente que não contenha caracteres especiais. Se você estiver usando variáveis de ambiente, a URL deve estar no formato http://usuario:senha@proxy:porta.
Copilot Funciona no VS Code, mas Falha em Túneis Remotos ou WSL
Ambientes de desenvolvimento remoto como WSL, SSH ou Dev Containers têm sua própria pilha de rede. Configure as definições de proxy dentro da máquina remota usando os mesmos métodos acima. Para WSL, defina variáveis de ambiente na distribuição Linux do WSL. Para SSH, defina o proxy no servidor remoto. As configurações de proxy do VS Code na sua máquina local não se aplicam a janelas remotas.
Comparação dos Métodos de Configuração de Proxy: Variáveis de Ambiente vs settings.json vs Proxy Geral
| Item | Variáveis de Ambiente | settings.json específico do Copilot | Proxy geral do VS Code |
|---|---|---|---|
| Escopo | Em todo o sistema, todos os aplicativos | Apenas extensão do Copilot | Todas as extensões do VS Code |
| Autenticação na URL | Suportado | Suportado | Suportado |
| Requer reinicialização | Sim, VS Code e terminal | Sim, VS Code | Sim, VS Code |
| Melhor para | Várias ferramentas atrás do mesmo proxy | Isolar o proxy do Copilot de outras extensões | Proxy simples sem necessidade por extensão |
Agora você tem três maneiras de configurar as definições de proxy do GitHub Copilot no VS Code. Comece com a configuração específica do Copilot no settings.json se quiser afetar apenas o Copilot. Use variáveis de ambiente se todo o seu ambiente de desenvolvimento precisar do proxy. Se o Copilot ainda falhar, verifique a autenticação do proxy e teste o proxy com curl. Para desenvolvimento remoto, configure o proxy dentro do ambiente remoto separadamente.