Observação: o uso dos GitHub Codespaces com IDEs do JetBrains está em versão beta pública e sujeito a alterações no momento.
Sobre o Codespaces em IDEs do JetBrains
Se você usa um IDE do JetBrains para trabalhar com códigos, também pode aproveitá-lo para trabalhar em um codespace. Para isso, você usa o aplicativo JetBrains Gateway.
Depois de instalar o JetBrains Gateway, você pode definir o JetBrains como seu editor padrão para Codespaces. Se fizer isso, sempre que abrir um codespace em GitHub.com, o JetBrains Gateway será iniciado para permitir que você escolha do IDE do JetBrains e conecte-se ao codespace.
Quando trabalha em um codespace, você usa o aplicativo cliente fino do JetBrains em seu computador local. Isso fornece uma interface gráfica para todo o IDE do JetBrains de sua escolha, que é executada na máquina virtual remota que hospeda o seu codespace. O cliente fino é usado sempre, mesmo que o IDE do JetBrains esteja instalado localmente. Todas as configurações locais do IDE do JetBrains são importadas e usadas pelo cliente fino.
Observação: somente os codespaces existentes estão disponíveis no JetBrains Gateway. É possível criar codespaces no GitHub.com ou usando a GitHub CLI. Para obter mais informações, confira "Como criar um codespace para um repositório".
O processo de conexão de desenvolvimento remoto do JetBrains
Veja a seguir o processo básico por trás do uso de um codespace no IDE do JetBrains.
- No aplicativo JetBrains Gateway, você seleciona um dos codespaces ativos ou parados.
- Em seguida, escolhe qual IDE do JetBrains será usado.
- Depois disso, o IDE do JetBrains selecionado é baixado na máquina virtual remota que hospeda o codespace e o código-fonte.
- Em seguida, o aplicativo thin client do JetBrains é baixado no computador local e iniciado.
- Esse aplicativo cliente se conecta ao IDE de back-end completo.
- É possível trabalhar em seu código no aplicativo cliente da mesma maneira que você faria em um ambiente local.
Pré-requisitos
Para trabalhar com um codespace em um IDE do JetBrains, o seguinte é necessário:
- Uma licença válida do JetBrains
- O aplicativo JetBrains Gateway.
- GitHub CLI versão 2.18.0 ou mais recente
- Um codespace existente que está executando um servidor de SSH. O codespace deve ter pelo menos 4 núcleos.
Licença do JetBrains
Você precisa ter uma licença do JetBrains que dê suporte ao IDE escolhido no Jetbrains Gateway.
JetBrains Gateway
É possível instalar e atualizar o JetBrains Gateway por meio do aplicativo JetBrains Toolbox.
-
Baixe e instale o JetBrains Toolbox.
-
Abra o JetBrains Toolbox.
-
Encontre Gateway na lista de ferramentas disponíveis e clique em Instalar.
GitHub CLI
O plug-in do GitHub Codespaces para JetBrains Gateway requer a instalação e configuração da GitHub CLI versão 2.18.0 ou mais recente para que seja possível abrir um codespace no JetBrains Gateway.
Use este comando para verificar a versão da GitHub CLI:
gh --version
gh --version
Para obter mais informações, confira "Sobre o a CLI do GitHub".
Codespace executando um servidor SSH
Você deve ter um codespace existente ao qual se conectar, e a máquina virtual que hospeda o espaço de codespace deve ter pelo menos 4 núcleos. Você pode criar um codespace em GitHub.com, em Visual Studio Code, ou usando GitHub CLI. Para obter mais informações, confira "Como criar um codespace para um repositório".
O codespace ao qual você se conecta precisa estar executando um servidor SSH. A imagem de contêiner de desenvolvimento padrão inclui um servidor SSH, que é iniciado automaticamente. Se os codespaces não forem criados com base na imagem padrão, você poderá instalar e iniciar um servidor SSH adicionando o seguinte ao objeto features
no arquivo devcontainer.json
.
"features": {
// ...
"ghcr.io/devcontainers/features/sshd:1": {
"version": "latest"
},
// ...
}
Para obter mais informações sobre o arquivo devcontainer.json
e a imagem de contêiner padrão, confira "Introdução aos contêineres de desenvolvimento".
Observação: para obter ajuda com a conexão ao codespace por SSH, confira "Solução de problemas dos clientes dos GitHub Codespaces".
Configurar o JetBrains Gateway
Ao usar o JetBrains Gateway para GitHub Codespaces pela primeira vez, é necessário instalar o plug-in do Codespaces. Também é necessário permitir que o JetBrains Gateway acesse o GitHub.com usando sua conta do GitHub.
-
Abra o aplicativo JetBrains Gateway.
-
Em Instalar mais provedores, clique no link Instalar para o GitHub Codespaces.
-
Clique em Conectar-se a um codespace.
-
No diálogo "Bem-vindo ao JetBrains Gateway", clique em Entrar com o GitHub .
-
Clique no ícone ao lado do código de uso único para copiá-lo.
-
Clique no link de logon abaixo do código de logon.
-
Se você não estiver conectado ao GitHub, a página de entrada será exibida.
- Insira seus detalhes e clique em Entrar.
- Verifique sua autenticação, por exemplo, inserindo um código de autenticação de dois fatores.
-
Na página "Ativação do dispositivo", cole o código copiado e clique em Continuar.
-
Se você pertencer a organizações, a página "Fazer logon único em suas organizações" será exibida. Clique em Autorizar ao lado das organizações que o JetBrains Gateway terá autorização para acessar e clique em Continuar.
-
Na página "Autorizar o GitHub Codespaces para o JetBrains", clique em Autorizar o GitHub .
-
Retorne ao aplicativo JetBrains Gateway e abra um codespace na lista de codespaces atualmente ativos ou parados (veja a etapa 3 do procedimento a seguir).
Abrir um codespace no IDE do JetBrains
Se você definiu o JetBrains Gateway como o editor padrão, ele será iniciado automaticamente quando você abrir um codespace no GitHub.com.
Se o JetBrains Gateway não for o editor padrão, ainda será possível abrir um codespace nele acessando a página "Seus codespaces" em github.com/codespaces e clicando nas reticências (...) à direita do codespace que você deseja abrir. Para obter mais informações, confira "Como abrir um codespace existente".
Como alternativa, também é possível abrir o JetBrains Gateway e selecionar um codespace existente, conforme descrito no procedimento a seguir.
-
Abra o aplicativo JetBrains Gateway.
-
Clique em Conectar-se a Codespaces .
-
Na primeira vez que se conectar, você será solicitado a escolhar se deseja permitir que o GitHub colete dados de uso anonimizados para aprimorar a funcionalidade e a experiência do usuário. Clique em Permitir ou Negar.
Você pode alterar sua escolha posteriormente, se necessário, nas configurações do plug-in do GitHub Codespaces, que você pode acessar nas configurações do JetBrains Gateway.
-
Na lista "Seus codespaces", clique no codespace em que você deseja trabalhar.
-
Na lista "IDEs disponíveis", clique no IDE do JetBrains que você deseja usar. O Gateway lembrará de sua escolha na próxima vez que você se conectar a um codespace.
-
Clique em Conectar.
Observações:
-
Se você escolher Rider como seu IDE do JetBrains e o repositório contiver vários arquivos de solução, a caixa de diálogo "Definir Caminho da Solução" será exibida solicitando que você escolha em qual solução deseja trabalhar. Escolha um arquivo de solução no menu suspenso e clique em OK.
Se o repositório não tiver um arquivo de solução, o Rider será aberto em uma exibição básica do diretório do projeto e contará com recursos limitados. Por exemplo, você não poderá contar com a navegação pelo código específica do .NET. Se houver apenas um arquivo de solução no repositório, ele será usado automaticamente, sem que o prompt seja exibido. Para obter mais informações, confira "Criar e abrir projetos e soluções", na documentação do JetBrains.
-
Se você estiver executando um firewall, na primeira vez que se conectar a um recurso remoto, poderá ser solicitado que você permita que o JetBrains Gateway se comunique pela rede.
Na primeira vez que você se conectar a um codespace, o IDE de back-end será baixado no computador remoto. Isso pode levar alguns minutos. Na próxima vez que você se conectar ao mesmo codespace, essa etapa não será necessária, o que torna o processo de conexão mais rápido.
Em seguida, o IDE de back-end é iniciado. Lembre-se de que essa etapa não será necessária no futuro se você estiver se reconectando a um IDE de back-end que ficou em execução.
Depois disso, o aplicativo cliente é iniciado.
-