Ao trabalhar em um codespace, você pode abrir uma nova janela de terminal com um shell da sua escolha, alterar o shell padrão para novas janelas de terminal ou instalar um novo. Você também pode usar dotfiles para configurar o shell.
Os codespaces que usam a imagem de contêiner de desenvolvedor padrão vêm com os shells bash
, zsh
e fish
instalados. Se você abrir um novo codespace no cliente Web do VS Code ou se conectar a um codespace por SSH, o terminal será aberto com uma sessão bash
em execução por padrão. No aplicativo da área de trabalho VS Code, o shell padrão depende das configurações locais e do sistema operacional. Para obter mais informações, confira Perfis de Terminal na documentação do VS Code.
Como fazer a alteração do shell padrão em VS Code
Se você não quiser usar o shell padrão, poderá abrir uma nova sessão de terminal com um shell diferente.
-
Se você não conseguir ver o terminal integrado no VS Code, pressione Ctrl+`.
-
À direita do ícone para abrir uma nova janela do terminal, selecione o ícone suspenso.
-
No menu suspenso, clique no nome do shell que você deseja usar.
Como instalar um novo firewall
Se você quiser usar um shell que ainda não esteja instalado na configuração de imagem base ou contêiner de desenvolvimento para um codespace, poderá instalar um novo shell.
Se você estiver usando a imagem de contêiner de desenvolvedor padrão, procure as instruções de instalação do Ubuntu Linux. Se você quiser usar apenas um shell diferente para uma sessão, poderá usar a linha de comando para instalar o shell no codespace no qual está trabalhando. No entanto, você poderá perder programas instalados se fizer o rebuild do contêiner no codespace. Para obter mais informações, confira "Aprofundamento de GitHub Codespaces".
Uma opção mais robusta para instalar novos shells é incluir os comandos de instalação em um repositório dotfiles ou como um comando de ciclo de vida, como postCreateCommand
em um arquivo devcontainer.json
. Você deve usar um repositório dotfiles para instalar um shell que deseja usar em todos os próprios codespaces e um arquivo devcontainer.json
para um shell que os colaboradores de um repositório específico devem ter instalado. Para obter mais informações, confira "Como personalizar o GitHub Codespaces para sua conta" e "Introdução aos contêineres de desenvolvimento."
Como adicionar um perfil de terminal do VS Code para um novo shell
O VS Code detecta automaticamente os shells mais padrão e os adiciona como um perfil de terminal. Assim, você pode abrir facilmente as novas janelas do terminal usando o shell que instalou.
Se o shell instalado não for detectado automaticamente, você poderá adicionar um novo perfil de terminal às configurações do usuário. Essa configuração depende do sistema operacional. Portanto, você deve usar linux
para o cliente Web VS Code e seu sistema operacional local para o aplicativo da área de trabalho.
-
Para abrir a Visual Studio Code Command Palette, pressione Command+Shift+P (Mac) ou Ctrl+Shift+P (Windows).
-
Comece a digitar "configurações do usuário" e clique em Preferências: Abrir Configurações do Usuário (JSON) .
-
No arquivo
settings.json
, dentro do objeto JSON, adicione uma nova propriedade como a descrita a seguir. SubstituaOPERATING-SYSTEM
pelo sistema operacional relevante (comolinux
,windows
ouosx
) eSHELL
pelo shell instalado.JSON "terminal.integrated.profiles.OPERATING-SYSTEM": { "SHELL": { "path": "SHELL" } }
"terminal.integrated.profiles.OPERATING-SYSTEM": { "SHELL": { "path": "SHELL" } }
Por exemplo:
"terminal.integrated.profiles.linux": { "csh": { "path": "csh" } }
-
Salve o arquivo.
Você pode usar a Sincronização de Configurações para compartilhar essas configurações em todos os codespaces abertos no cliente Web VS Code e no aplicativo da área de trabalho. Se você estiver trabalhando no cliente Web, a Sincronização de Configurações será desabilitada por padrão e você deverá habilitar a Sincronização de Configurações para enviar alterações às suas configurações ou trazer novas alterações feitas em outro lugar. Para obter mais informações, confira "Como personalizar o GitHub Codespaces para sua conta".
Como configurar o shell padrão em VS Code
Você pode definir um perfil de terminal padrão para escolher o shell padrão usado para todas as novas janelas de terminal abertas em VS Code. O perfil de terminal padrão depende do sistema operacional. Portanto, você pode definir um perfil padrão para Linux, se estiver usando o cliente Web VS Code ou para o sistema operacional local, se estiver usando o aplicativo da área de trabalho.
Nota: independentemente do perfil padrão, os codespaces abertos no cliente Web sempre são abertos com uma sessão bash
em execução inicialmente.
-
Para abrir a Visual Studio Code Command Palette, pressione Command+Shift+P (Mac) ou Ctrl+Shift+P (Windows).
-
Comece a digitar "configurações do usuário" e clique em Preferências: Abrir Configurações do Usuário (JSON) .
-
Dentro do objeto JSON, para definir o shell padrão para o sistema operacional relevante, adicione linhas ou edite as existentes como descrito a seguir.
"terminal.integrated.defaultProfile.OPERATING-SYSTEM": "SHELL"
Por exemplo:
JSON { "terminal.integrated.defaultProfile.osx": "zsh", "terminal.integrated.defaultProfile.linux": "bash", "terminal.integrated.defaultProfile.windows": "PowerShell" }
{ "terminal.integrated.defaultProfile.osx": "zsh", "terminal.integrated.defaultProfile.linux": "bash", "terminal.integrated.defaultProfile.windows": "PowerShell" }
-
Salve o arquivo
settings.json
.
Você pode usar a Sincronização de Configurações para compartilhar essas configurações em todos os codespaces abertos no cliente Web VS Code e no aplicativo da área de trabalho. Se você estiver trabalhando no cliente Web, a Sincronização de Configurações será desabilitada por padrão e você deverá habilitar a Sincronização de Configurações para enviar alterações às suas configurações ou trazer novas alterações feitas em outro lugar. Para obter mais informações, confira "Como personalizar o GitHub Codespaces para sua conta".
Como definir o shell padrão por SSH
Ao se conectar a um codespace da linha de comando por SSH, você se conecta a uma sessão bash
no codespace por padrão.
Se você tiver habilitado um repositório dotfiles para GitHub Codespaces, poderá alterar o shell padrão ao qual se conecta adicionando um comando a um script de instalação, como install.sh
em seus dotfiles. Para obter mais informações, confira "Como usar o GitHub Codespaces com a CLI do GitHub" e "Como personalizar o GitHub Codespaces para sua conta." Por exemplo, o comando a seguir altera o shell padrão para zsh
.
sudo chsh "$(id -un)" --shell "/usr/bin/zsh"
sudo chsh "$(id -un)" --shell "/usr/bin/zsh"
Se você quiser usar um shell padrão que não esteja instalado em seu codespace por padrão ou verificar se tem a versão mais recente do shell, instale o shell primeiro.
sudo apt-get update -y sudo apt-get install -y csh sudo chsh "$(id -un)" --shell "/usr/bin/csh"
sudo apt-get update -y
sudo apt-get install -y csh
sudo chsh "$(id -un)" --shell "/usr/bin/csh"
Nota: se você criar um codespace (por exemplo, usando gh codespace create
), deverá aguardar tempo suficiente para garantir que o script tenha terminado de ser executado antes de se conectar ao codespace por SSH. Se o script ainda não sido totalmente executado, você se conectará a uma sessão padrão bash
.
Ao se conectar ao codespace, na maioria dos shells, você pode usar o comando readlink /proc/$$/exe
para verificar se o shell correto está em execução.
Como configurar seu shell
Com a maioria dos shells, você tem a opção de usar um arquivo de configuração, como .bashrc
, para definir o shell com suas configurações preferenciais. Essas configurações podem incluir itens como alias e variáveis de ambiente.
Por padrão, os codespaces contêm uma configuração predefinida para os shells pré-instalados. Por exemplo, o diretório inicial em um codespace contém os arquivos .bashrc
e .zshrc
. Você pode alterar o conteúdo desses arquivos e, em seguida, usar um comando como source ~/.bashrc
para atualizar a configuração do shell. No entanto, você perderá todas as alterações nesses arquivos se fizer o rebuild do contêiner em um codespace. Para obter mais informações, confira "Aprofundamento de GitHub Codespaces".
Em geral, você deve usar um repositório dotfiles para definir shells com suas configurações preferenciais. A configuração em seus dotfiles se aplica a todos os codespaces que você cria e persiste sobre os rebuilds do contêiner. Para obter mais informações, confira "Como personalizar o GitHub Codespaces para sua conta".
Como solucionar problemas do shell fish
O shell fish
inclui uma interface de configuração baseada na Web. Você pode usar o comando fish_config
para iniciar um servidor Web local e iniciar essa interface e, em seguida, fazer coisas como alterar o prompt do terminal ou exibir suas variáveis de ambiente.
Você pode usar a interface baseada na Web para fish
em um codespace. No entanto, as configurações de cor no terminal integrado do VS Code dependem do tema VS Code escolhido, e você não pode substituir essas configurações definindo um novo tema na interface fish_config
.
Quando fish
inicia o servidor local, o link padrão que GitHub Codespaces fornece à porta encaminhada não funciona. Por exemplo, se você clicar em Abrir no Navegador na mensagem pop-up, uma página de erro será aberta.
Para acessar a interface baseada na Web para fish_config
:
-
Em um terminal que executa uma sessão
fish
, insirafish_config
. -
Na saída do terminal, use Command + clique ou Ctrl + clique para abrir o link para o arquivo HTML
web_config
.$ fish_config Web config started at file:///tmp/web_config60rc9tr3.html Hit ENTER to stop.
-
No arquivo
web_config
, use Command + clique ou Ctrl + clique para abrir o link para a porta encaminhada.<body> <p><a href="http://localhost:8000/1b9411c2469e392b96df5e5b28da485b/">Start the Fish Web config</a></p> </body>