Pular para o conteúdo principal

Workspace do Terminal

O Workspace do Terminal é um terminal multi-abas embutido diretamente no LaraEnv, construído sobre o xterm.js. Ele oferece grupos flutuantes com arrastar e soltar, painéis redimensionáveis e layouts divididos, para que você organize vários shells exatamente como preferir.

Navegador compartilhado de Arquivos e Git ao lado do terminal e editor

Arquivos, documentos e Git​

O workspace principal usa um único navegador de Agentes / Arquivos / Git. Seus painéis acompanham o projeto ou worktree do terminal local selecionado. Recolha-o para ganhar espaço ou alterne os painéis sem reiniciar terminais nem fechar documentos.

Arquivos abre documentos do projeto no editor integrado. Markdown tem código-fonte e prévia renderizada, e imagens suportadas abrem em uma prévia. As abas identificam sua cópia de trabalho. Salvar verifica alterações externas no disco; fechar um documento não salvo, sair ou aplicar uma atualização pede para salvar, descartar ou cancelar.

Git revisa alterações desse checkout, adiciona e retira arquivos inteiros do índice, faz commit do índice revisto e envia separadamente. Veja Controle de versões para o fluxo completo e seus limites. Alterações Git pertencem ao checkout; agentes que o compartilham também compartilham o índice.

Tipos de shell​

Ao abrir uma nova aba, você pode escolher o shell a executar:

  • PowerShell (padrão)
  • CMD
  • Git Bash
  • Cmder (opcional — instale-o primeiro pelo catálogo)

Abrindo um terminal​

Há duas formas de abrir um terminal:

  • Pela página Terminal — adicione uma nova aba e escolha o tipo de shell.
  • A partir de um projeto — escolha Abrir terminal no projeto. O novo terminal é ciente do projeto: o diretório de trabalho é definido como a raiz do projeto, o PHP, o Node e o Composer do projeto são colocados no PATH, e um banner exibe o nome do projeto.
dica

Você pode escolher qual shell um projeto abre por padrão. Veja Projetos → Configuração para o tipo de terminal por projeto.

Versão de PHP e Node por terminal​

Cada terminal local pode fixar a versão de PHP e Node que carrega, independente da versão global ativa. Isso é útil quando você destaca um terminal em sua própria janela e o usa de forma isolada: sem uma escolha, um shell comum voltaria para o PHP/Node global ativo, então o php artisan poderia rodar o PHP errado para a pasta em que você está.

  • A barra de abas do terminal ativo exibe um badge de runtime (por exemplo, PHP 8.4 · Node 22.11).
  • Clique no badge para abrir o seletor e escolher uma versão de PHP e/ou Node. Auto segue a versão global ativa (o padrão).
  • Trocar a versão reinicia aquele terminal no lugar com o novo runtime — o PATH de um shell em execução não pode ser alterado depois que ele inicia.
  • As versões escolhidas são lembradas com o terminal: elas sobrevivem ao destacamento em uma janela separada e são restauradas entre reinicializações do app.

Terminais de projeto e SSH não são afetados — um terminal de projeto já carrega o PHP, o Node e o Composer selecionados do projeto.

Layouts: grupos, painéis e abas​

O workspace organiza os terminais em uma árvore de painéis:

  • Grupos flutuantes podem ser movidos com arrastar e soltar.
  • Painéis podem ser redimensionados, e você pode dividir um painel para criar layouts lado a lado ou empilhados.
  • Abas ficam dentro de um painel, então cada painel pode conter vários shells.

O layout completo (grupos, painéis e abas) é persistido e restaurado entre reinicializações do app, então o arranjo dos seus terminais fica exatamente onde você deixou.

Sessões de agentes de código​

O navegador opcional de Agentes fica ao lado deste mesmo workspace. Assim, sessões do Claude Code, Codex, Kimi e OpenCode continuam sendo abas de terminal em vez de formar um segundo sistema de terminal. Você pode recolher o navegador sem fechar as sessões. Veja Sessões de agentes para configuração, escolhas de working copy do Git, restauração e limitações atuais.

Aparência​

Desde a 0.4.24 o terminal usa um visual inspirado no Tabby:

  • Superfície escura sólida com abas chatas de altura cheia — a aba ativa se funde com o terminal abaixo.
  • Esquema de cores vívido (a paleta ANSI "Tabby Default") com cursor de bloco piscante em 14px.
  • JetBrains Mono acompanha o app — não depende de fonte do sistema, funciona offline.
  • Renderização acelerada por GPU (WebGL) para texto nítido, com fallback automático.

Terminais SSH​

Você pode abrir conexões SSH como abas de terminal. O LaraEnv faz o streaming da sua conexão SSH nativa em uma aba xterm.js, então um shell remoto se comporta como qualquer outra aba do workspace. Veja Hosts SSH.

Comportamento de cópia​

Você pode escolher como a cópia funciona por meio de uma preferência:

  • Seleção do xterm.js — selecione o texto e copie normalmente.
  • Clicar para copiar — clique para copiar diretamente.

Redimensionamento automático​

Os terminais se redimensionam automaticamente para acompanhar a janela, então o canvas sempre se ajusta ao espaço disponível conforme você redimensiona o LaraEnv.

Relacionados​