Como Usar o GitHub Copilot em Espaços de Trabalho SSH FS no VS Code
🔍 WiseChecker

Como Usar o GitHub Copilot em Espaços de Trabalho SSH FS no VS Code

Você quer usar o GitHub Copilot para sugestões de código enquanto edita arquivos em um servidor remoto por meio da extensão SSH FS do VS Code. A extensão SSH FS monta diretórios remotos como um sistema de arquivos local, mas o servidor de linguagem do Copilot não consegue se conectar ao ambiente remoto por padrão. Este artigo explica como configurar o VS Code e a extensão SSH FS para que o Copilot possa fornecer conclusões inline e assistência por chat em arquivos remotos.

Principais Conclusões: Habilitando o Copilot em Código Remoto SSH FS

  • Extensão Remote SSH do VS Code: A alternativa recomendada ao SSH FS para integração completa do Copilot com servidores de linguagem remotos.
  • Configurações da extensão GitHub Copilot: Defina github.copilot.advanced para permitir conexões remotas ao usar SSH FS.
  • Configuração do espaço de trabalho SSH FS: Adicione "remote.SSH.path" no settings.json para apontar o Copilot para o runtime Node.js remoto.

ADVERTISEMENT

Entendendo a Lacuna de Compatibilidade entre SSH FS e Copilot

SSH FS é uma extensão do VS Code que monta o sistema de arquivos de um servidor remoto como um espaço de trabalho virtual. Ela não executa o servidor remoto do VS Code na máquina remota. Isso significa que o servidor de linguagem do Copilot, que analisa o contexto do código e gera sugestões, é executado apenas na sua máquina local e não consegue acessar o ambiente de runtime remoto. Quando você abre um arquivo via SSH FS, o Copilot vê uma cópia local do arquivo, mas não tem acesso às dependências, ferramentas de build e serviços de linguagem do projeto remoto.

A causa raiz é que o Copilot depende do Language Server Protocol para entender a estrutura do código. A extensão SSH FS não implementa uma ponte de servidor de linguagem remoto. Como resultado, o Copilot pode não mostrar sugestões, mostrar sugestões genéricas ou falhar ao ativar completamente. Para corrigir isso, você precisa mudar para uma configuração totalmente remota do VS Code ou configurar manualmente o Copilot para se conectar ao processo Node.js remoto.

Como o Copilot Detecta Espaços de Trabalho Remotos

O Copilot verifica o tipo de espaço de trabalho no VS Code. Ao usar SSH FS, o espaço de trabalho aparece como uma pasta local. A lógica interna do Copilot trata isso como um espaço de trabalho local e tenta iniciar o servidor de linguagem localmente. Como as dependências remotas estão ausentes, o servidor de linguagem não consegue analisar o código corretamente e não retorna conclusões.

Passos para Configurar o GitHub Copilot para Espaços de Trabalho SSH FS

  1. Instale as extensões necessárias
    Abra o VS Code e instale a extensão GitHub Copilot da marketplace. Instale também a extensão SSH FS, se ainda não o fez. Reinicie o VS Code após a instalação.
  2. Abra seu espaço de trabalho SSH FS
    Use a extensão SSH FS para conectar-se ao seu servidor remoto. Navegue até a visualização SSH FS na barra de atividades, clique no ícone de adição e insira seus detalhes de conexão SSH. Selecione a pasta remota com a qual deseja trabalhar.
  3. Habilite o Copilot para espaços de trabalho remotos
    Abra as configurações do VS Code pressionando Ctrl + , no Windows ou Cmd + , no Mac. Pesquise por github.copilot.advanced. Defina a opção GitHub Copilot: Advanced como Allow. Isso informa ao Copilot para tratar espaços de trabalho SSH FS como remotos e iniciar o servidor de linguagem adequadamente.
  4. Configure o caminho do Node.js remoto
    Na mesma janela de configurações, pesquise por remote.SSH.path. Insira o caminho completo para o executável Node.js no seu servidor remoto, por exemplo /usr/bin/node. Este passo é necessário apenas se o servidor remoto não tiver Node.js no PATH padrão. O Copilot usa Node.js para executar o servidor de linguagem.
  5. Reinicie o servidor de linguagem do Copilot
    Pressione Ctrl + Shift + P para abrir a paleta de comandos. Digite Developer: Reload Window e pressione Enter. Isso reinicia o VS Code e aplica todas as configurações. Abra um arquivo de código no espaço de trabalho SSH FS. Você deve ver as sugestões do Copilot aparecerem enquanto digita.

Método Alternativo: Use o Remote SSH do VS Code

Se a configuração acima não funcionar, a solução mais confiável é mudar do SSH FS para a extensão oficial Remote SSH do VS Code. Esta extensão executa o servidor completo do VS Code na máquina remota, incluindo o servidor de linguagem do Copilot. Para usá-la, instale a extensão Remote SSH, clique no indicador remoto azul no canto inferior esquerdo e selecione Connect to Host. Insira seus detalhes SSH. O VS Code recarrega com um contexto remoto e o Copilot funciona nativamente.

ADVERTISEMENT

Copilot Ainda Não Funciona em Espaços de Trabalho SSH FS

Copilot não mostra nenhuma sugestão

Se o Copilot não aparecer após a configuração, verifique o ícone de status do Copilot no canto inferior direito do VS Code. Um círculo com uma linha cortada significa que o Copilot está desabilitado. Clique no ícone e selecione Enable Copilot. Verifique também se sua conta GitHub está conectada e possui uma assinatura ativa do Copilot.

Copilot sugere código local em vez de código do projeto remoto

Isso acontece quando o Copilot não consegue acessar o contexto do projeto remoto. Abra o painel de saída do VS Code pressionando Ctrl + Shift + U. No menu suspenso, selecione GitHub Copilot. Procure por erros como ENOENT ou cannot find module. Eles indicam que o caminho do Node.js remoto está incorreto. Atualize o caminho nas configurações e recarregue a janela.

O chat do Copilot não funciona no espaço de trabalho SSH FS

O Copilot Chat requer o mesmo servidor de linguagem remoto que as conclusões. Se você configurou a opção avançada mas o chat ainda falha, certifique-se de ter a extensão GitHub Copilot Chat instalada. Em seguida, abra a paleta de comandos, digite Copilot: Open Chat e verifique se o painel de chat carrega. Se mostrar um erro, mude para o método Remote SSH descrito acima.

SSH FS vs Remote SSH do VS Code para Copilot: Principais Diferenças

Item SSH FS Remote SSH do VS Code
Descrição Monta o sistema de arquivos remoto como um espaço de trabalho local Executa o servidor completo do VS Code na máquina remota
Servidor de linguagem do Copilot Executa localmente, pode faltar contexto remoto Executa na máquina remota com contexto completo do projeto
Esforço de configuração Requer configurações manuais para o caminho do Node.js remoto Funciona imediatamente após a conexão
Desempenho Mais rápido para edições simples de arquivos Conexão inicial mais lenta, mas mais suave para projetos complexos
Melhor para Edições rápidas em alguns arquivos Desenvolvimento completo em bases de código remotas

Se você precisa do Copilot para edições ocasionais de arquivos em um servidor remoto, o método SSH FS com configuração manual pode funcionar. Para desenvolvimento diário com múltiplos arquivos e dependências, use o Remote SSH do VS Code.

Agora você pode configurar o GitHub Copilot em espaços de trabalho SSH FS habilitando a configuração remota avançada e especificando o caminho do Node.js remoto. Para uma experiência mais confiável, considere mudar para a extensão Remote SSH do VS Code, que oferece suporte completo ao servidor de linguagem. Como dica avançada, você pode definir a configuração github.copilot.advanced no nível do espaço de trabalho em .vscode/settings.json para que cada projeto SSH FS use sua própria configuração.

ADVERTISEMENT