Configurar codespaces para seu projeto

Você pode usar um arquivo devcontainer.json para definir um ambiente de Codespaces para o seu repositório.

People with write permissions to a repository can create or edit the codespace configuration.

Observação: Codespaces está atualmente em versão beta pública limitada e sujeito a alterações. Para obter mais informações sobre fontes de publicação, consulte "About Codespaces."

Sobre contêineres de desenvolvimento

Um contêiner de desenvolvimento, ou dev container, é o ambiente que Codespaces usa para fornecer as ferramentas e tempos de execução de que seu projeto precisa para desenvolvimento. Ao trabalhar com um contêiner de desenvolvimento em Codespaces você pode usar a configuração padrão, usar uma configuração pré-definida, ou criar sua própria configuração. A opção escolhida depende das ferramentas, tempo de execução, dependências e fluxos de trabalho que um usuário pode precisar para ter sucesso com seu projeto.

Codespaces permite a personalização em uma base por projeto e por branch com um arquivo devcontainer.json. Este arquivo de configuração determina o ambiente de cada novo codespace que alguém criar para o repositório, definindo um contêiner de desenvolvimento que pode incluir estruturas, ferramentas, extensões e encaminhamento de porta. Um arquivo Docker também pode ser usado ao lado do arquivo devcontainer.json na pasta devcontainer para definir tudo o que é necessário para criar uma imagem de contêiner.

devcontainer.json

Este arquivo pode ser localizado na raiz do repositório ou em uma pasta denominada .devcontainer. Se o arquivo estiver localizado na raiz do repositório, o nome do arquivo deve começar com um ponto: .devcontainer.json.

Você pode usar o seu devcontainer.json para definir as configurações padrão para todo o ambiente do codespace, incluindo o editor, mas você também pode definir configurações específicas do editor para áreas de trabalho individuais em um codespace em um arquivo denominado .vscode/settings.json.

Para obter informações sobre as configurações e propriedades que você pode definir em um devcontainer.json, consulte referência do devcontainer.json na documentação de Visual Studio Code.

arquivo Docker

Um arquivo Docker também mora na pasta .devcontainer.

Você pode adicionar um arquivo Docker ao seu projeto para definir uma imagem de contêiner e instalar software. No arquivo Docker, você pode usar DE para especificar a imagem do contêiner.

FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:0-14

# ** [Optional] Uncomment this section to install additional packages. **
# USER root
#
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
#     && apt-get -y install --no-install-recommends <your-package-list-here>
#
# USER codespace

Você pode usar a instrução EXECUTAR para instalar qualquer software e && para unir comandos.

Faça referência ao seu arquivo Docker no arquivo devcontainer.json usando a propriedade arquivo Docker.

{
  ...
  "build": { "dockerfile": "Dockerfile" },
  ...
}

Para obter mais informações sobre como usar um arquivo Docker em um contêiner de desenvolvimento, consulte Criar um contêiner de desenvolvimento na documentação de Visual Studio Code.

Usando a configuração padrão

Se você não definir uma configuração no repositório, o GitHub criará um código com uma imagem-base do Linux. A imagem de base do Linux inclui linguagens e tempos de execução como Python, Node.js, JavaScript, TypeScript, C++, Java, .NET, PHP, PowerShell, Go, Ruby e Rust. Ela também inclui outras ferramentas e utilitários para desenvolvedores como git, GitHub CLI, yarn, openssh, e vim. Para ver todas as linguagens, tempos de execução e as ferramentas que são incluídas, use o comando devcontainer-info content-url dentro do seu terminal de código e siga a url que o comando emite.

Como alternativa, para obter mais informações sobre tudo o que está incluído na imagem de base do Linux, consulte o arquivo mais recente no repositório microsoft/vscode-dev-containers.

A configuração padrão é uma boa opção se você estiver trabalhando em um pequeno projeto que usa as linguagens e ferramentas que Codespaces fornece.

Usando uma configuração de contêiner predefinida

Definições de contêiner predefinidas incluem uma configuração comum para um tipo específico de projeto e podem ajudar você rapidamente a dar os primeiros passos com uma configuração que já tem as opções de contêiner apropriadas, Visual Studio Code configurações, e extensões de Visual Studio Code que devem ser instaladas.

Usar uma configuração predefinida é uma ótima ideia se você precisa de uma extensão adicional. Você também pode começar com uma configuração predefinida e alterá-la conforme necessário para a configuração do seu projeto.

  1. Para acessar a paleta de comando, no canto superior esquerdo, selecione o Menu de Aplicativos e clique em Paleta de Comando… no menu Exibir e, em seguida, comece a digitar "Codespaces: Adicionar arquivos de configuração do Container do Desenvolvimento...". Clique em Codespaces: Adicionar arquivos de configuração de Contêiner do Desenvolvimento... "Codespaces: Adicionar arquivos de configuração de Contêiner de Desenvolvimento..." na paleta de comandos
  2. Clique na definição que você deseja usar. Lista de definições de contêiner predefinidas
  3. Siga as instruções para personalizar sua definição.
  4. Clique em OK. Botão OK
  5. Para aplicar as alterações, no canto inferior direito da tela, clique em Reconstruir agora. Para obter mais informações sobre a reconstrução do seu contêiner, consulte "Aplicar alterações na sua configuração". "Codespaces: Reconstruir contêiner" na paleta de comandos

Criar uma configuração personalizada de codespace

Se nenhuma das configurações predefinidas atender às suas necessidades, você poderá criar uma configuração personalizada adicionando um arquivo devcontainer.json. Este arquivo pode ser localizado na raiz do repositório ou em uma pasta denominada .devcontainer. Se o arquivo estiver localizado na raiz do repositório, o nome do arquivo deve começar com um ponto: .devcontainer.json.

No arquivo, você pode usar chaves de configuração compatíveis para especificar aspectos do ambiente do código, como quais extensões de Visual Studio Code serão instaladas.

Ao configurar as configurações de editor para Visual Studio Code, há três escopos disponíveis: Workspace, Remote [Codespaces], e User. Se uma configuração for definida em vários escopos, as configurações do Workspace têm prioridade e, em seguida Remote [Codespaces], depois User.

Você pode definir as configurações de editor-padrão para Visual Studio Code em dois lugares.

  • As configurações do editor definidas em .vscode/settings.json são aplicadas como configurações do escopo do espaço de trabalho no codespace.
  • Configurações do editor definidas na chave Configurações no devcontainer.json são aplicadas como configuração de escopo Remote [Codespaces] nesse codespace.

Depois de atualizar o arquivo devcontainer.json, você poderá reconstruir o contêiner para o seu código aplicar as alterações. Para obter mais informações, consulte "Aplicar alterações à sua configuração".

Aplicando alterações à sua configuração

After the Codespaces configuration for a repository changes, you can apply the changes to an existing codespace by rebuilding the container for the codespace.

  1. Access the command palette (shift command P / shift control P), then start typing "Codespaces: Rebuild Container". Click Codespaces: Rebuild Container. "Codespaces: Reconstruir contêiner" na paleta de comandos
  2. If changes to your codespace's configuration cause a container error, your codespace will run in recovery mode, and you will see an error message. Corrija os erros na configuração. Mensagem de erro sobre modo de recuperação
    • Para diagnosticar o erro revisando os registros de criação, clique em Visualizar registro de criação.
    • Para corrigir os erros identificados nos registros, atualize seu arquivo devcontainer.json..
    • Para aplicar as alterações, reconstrua seu contêiner. Access the command palette (`shift command P` / `shift control P`), then start typing "Codespaces: Rebuild Container". Click **Codespaces: Rebuild Container**.

Esse documento ajudou você?Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.