Você quer usar o GitHub Copilot no Visual Studio Code enquanto edita código em uma máquina remota, um servidor em nuvem ou um dispositivo atrás de um firewall. O Remote Tunnels permite conectar o VS Code do seu computador local a um ambiente remoto sem configuração complexa de VPN ou SSH. Este artigo explica como instalar a extensão Remote Tunnels, combiná-la com o GitHub Copilot e começar a escrever código em qualquer máquina com conexão à internet.
O GitHub Copilot fornece sugestões de código com inteligência artificial diretamente no editor. O Remote Tunnels cria um link criptografado seguro entre sua instância local do VS Code e um VS Code Server remoto. A combinação permite usar o Copilot em um sistema de arquivos remoto como se os arquivos estivessem locais. A configuração exige ambas as extensões instaladas e uma conta do GitHub com uma assinatura ativa do Copilot.
Principais Pontos: GitHub Copilot e Remote Tunnels no VS Code
- Extensão Remote Tunnels (ms-vscode.remote-server): Cria um túnel seguro do seu VS Code local para uma instância remota do VS Code Server.
- Extensão GitHub Copilot (GitHub.copilot): Fornece sugestões de código com IA na máquina remota através da conexão do túnel.
- VS Code Server na máquina remota: Deve estar instalado e em execução; o túnel usa a mesma conta do GitHub para autenticação.
Como o Remote Tunnels Funciona com o GitHub Copilot
O Remote Tunnels é uma extensão do VS Code que estabelece uma conexão WebSocket segura entre seu cliente local do VS Code e um VS Code Server em execução em uma máquina remota. A máquina remota pode ser uma VM na nuvem, um Raspberry Pi, um contêiner ou qualquer computador com acesso à internet. O túnel não exige abrir portas de firewall ou configurar chaves SSH. A conexão é criptografada de ponta a ponta usando TLS.
O GitHub Copilot funciona enviando o contexto do código do editor ativo para o serviço Copilot, que retorna sugestões. Quando você usa o Remote Tunnels, a extensão Copilot é executada no VS Code Server remoto. O contexto do código é enviado do servidor remoto para a API do Copilot, não da sua máquina local. Isso significa que a máquina remota deve ter acesso HTTPS de saída para api.github.com e copilot-proxy.githubusercontent.com.
O fluxo de autenticação usa sua conta do GitHub. Tanto o VS Code local quanto o VS Code Server remoto fazem login com a mesma conta do GitHub. O licenciamento do Copilot está vinculado à sua conta de usuário do GitHub, portanto, nenhuma chave de licença separada é necessária na máquina remota. O servidor remoto usa o token do GitHub armazenado no remoto para autenticar com os serviços do Copilot.
Pré-requisitos
- Visual Studio Code instalado na sua máquina local, versão 1.82 ou superior.
- Uma assinatura ativa do GitHub Copilot: Copilot Individual, Copilot Business ou Copilot Enterprise.
- Uma máquina remota com sistema operacional compatível: Linux, Windows ou macOS, com acesso à internet.
- A máquina remota deve ter o VS Code Server instalado. A extensão Remote Tunnels cuida disso automaticamente na primeira conexão.
Passos para Configurar o GitHub Copilot com Remote Tunnels
- Instale a extensão Remote Tunnels no seu VS Code local
Abra o VS Code no seu computador local. Vá para a visualização de Extensões pressionando Ctrl+Shift+X. Pesquise por Remote Tunnels publicado pela Microsoft. Clique em Instalar. O identificador da extensão é ms-vscode.remote-server. - Instale a extensão GitHub Copilot no seu VS Code local
Na mesma visualização de Extensões, pesquise por GitHub Copilot publicado pelo GitHub. Clique em Instalar. Faça login com sua conta do GitHub quando solicitado. Aceite as permissões necessárias para o Copilot ler o arquivo aberto e o contexto do editor. - Inicie um túnel remoto a partir da máquina remota
Na máquina remota, abra um terminal. Execute o comando:code tunnel. Se o VS Code Server não estiver instalado, o comando baixa e instala automaticamente. Na primeira execução, você será solicitado a autenticar com o GitHub. Siga a URL impressa no terminal para autorizar o dispositivo. Após a autenticação, o túnel inicia e exibe um nome ou código para o túnel. - Conecte seu VS Code local ao túnel remoto
No seu VS Code local, abra a Paleta de Comandos com Ctrl+Shift+P. Digite Remote Tunnels: Conectar ao Túnel. Selecione o nome do túnel na lista. Se o túnel não aparecer, digite o nome ou código do túnel manualmente. O VS Code abre uma nova janela conectada à máquina remota. - Instale o Copilot no VS Code Server remoto
Na janela remota do VS Code, abra a visualização de Extensões novamente. Agora a visualização mostra extensões para o servidor remoto. Pesquise por GitHub Copilot e clique em Instalar no remoto. A extensão é instalada no VS Code Server remoto, não na sua máquina local. Faça login com a mesma conta do GitHub usada no seu VS Code local. - Verifique se o Copilot está ativo no remoto
Abra um arquivo de código na máquina remota através do túnel. Comece a digitar código. O Copilot deve exibir sugestões em texto fantasma. Pressione Tab para aceitar uma sugestão. Se as sugestões não aparecerem, abra o painel de Saída e selecione o canal de log do Copilot para verificar erros de autenticação.
Problemas Comuns e Como Resolvê-los
Copilot não mostra sugestões na máquina remota
A causa mais comum é que o Copilot está instalado apenas no VS Code local, não no VS Code Server remoto. Abra a visualização de Extensões enquanto estiver conectado ao túnel remoto. Verifique se o GitHub Copilot aparece na seção Remoto, não na seção Local. Se aparecer apenas localmente, clique em Instalar no remoto. Outra causa são restrições de rede. A máquina remota deve conseguir acessar api.github.com na porta 443. Verifique as regras de firewall e configurações de proxy na máquina remota.
Conexão do túnel remoto falha com erro de autenticação
A autenticação do túnel usa um fluxo de código de dispositivo. Se o código expirar antes de você concluir a autorização, execute code tunnel novamente na máquina remota. No lado local, certifique-se de estar conectado à mesma conta do GitHub no VS Code. Abra a visualização de Contas no VS Code e verifique a conta do GitHub exibida. Se as contas não coincidirem, saia e faça login novamente com a mesma conta em ambos os lados.
Copilot retorna sugestões genéricas em vez de específicas do projeto
O Copilot usa o arquivo aberto e os arquivos abertos recentemente no workspace para fornecer contexto. Em um túnel remoto, o workspace é a pasta na máquina remota. Se o workspace remoto não contiver os arquivos do projeto, o Copilot não terá contexto. Abra a pasta correta na máquina remota usando Arquivo > Abrir Pasta na janela remota do VS Code. Verifique também se a máquina remota tem as dependências do projeto instaladas para que o Copilot possa inferir padrões a partir de imports e arquivos de configuração.
Túnel desconecta com frequência
O Remote Tunnels usa uma conexão WebSocket persistente. Internet instável em qualquer um dos lados causa desconexões. Na máquina remota, certifique-se de que a sessão do terminal executando code tunnel permaneça ativa. Use um gerenciador de processos como systemd no Linux ou um multiplexador de terminal como tmux para manter o túnel em execução após fechar a sessão SSH. No lado local, uma conexão com fio reduz as desconexões.
Remote Tunnels vs SSH Remote Development: Principais Diferenças
| Item | Remote Tunnels | SSH Remote Development |
|---|---|---|
| Complexidade de configuração | Nenhuma configuração SSH ou redirecionamento de porta necessária | Requer configuração de servidor SSH, gerenciamento de chaves e regras de firewall |
| Autenticação | Fluxo de código de dispositivo do GitHub | Chaves SSH ou login baseado em senha |
| Requisitos de rede | Apenas HTTPS de saída para o GitHub | Porta SSH 22 de entrada deve estar aberta |
| Desempenho | Latência depende da velocidade da internet até o relay do GitHub | Conexão direta, menor latência |
| Acesso ao sistema de arquivos | Apenas sistema de arquivos da máquina remota | Apenas sistema de arquivos da máquina remota |
| Compatibilidade com Copilot | Requer Copilot instalado no servidor remoto | Copilot é executado na máquina remota automaticamente |
Próximos Passos Após a Configuração
Agora você pode editar código em qualquer máquina remota usando o GitHub Copilot através de um túnel seguro. O túnel persiste entre reinicializações do VS Code no lado local, desde que o processo do túnel remoto continue em execução. Para parar o túnel na máquina remota, pressione Ctrl+C no terminal onde code tunnel está sendo executado.
Tente abrir um projeto na máquina remota e usar o Copilot Chat pressionando Ctrl+I ou clicando no ícone do Copilot na barra de atividades. O Copilot Chat usa a mesma conexão do túnel e fornece explicações de código inline e sugestões de refatoração com base no workspace remoto. Para cenários com vários desenvolvedores, cada usuário deve ter sua própria assinatura do Copilot e autenticar separadamente na máquina remota.