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.

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.
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
PATHde 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
- Janela destacada — destaque o terminal em sua própria janela maximizada.
- Sessões de agentes — organize agentes de código por projeto e working copy.
- Command Center — abra terminais e execute comandos pela paleta.
- Controle de versões — revise, prepare, faça commit e envie alterações locais.
- Acesso MCP local — conecte um assistente ao ambiente em execução.
- Projetos → Configuração — tipo de terminal por projeto.
- Hosts SSH — conecte-se a hosts remotos como abas de terminal.