Editor Monaco e diffs
O painel de editor é o Monaco — o editor sobre o qual o VS Code é construído — rodando dentro do canvas.
Abrindo arquivos
⇧⌘E abre um painel de editor, ⌘P é o localizador rápido de arquivos e ⌘S salva. A árvore de arquivos da barra lateral (⇧⌘X) conhece o git, então um arquivo modificado aparece como modificado enquanto você olha para ele.
Arquivos TypeScript, JavaScript e Python ganham autocompletar, hover, ir para a definição, referências, renomear e diagnósticos de um servidor de linguagem local, o mesmo que os seus agentes consultam. Arquivos Go, Rust, C e C++ ganham o mesmo quando o gopls, o rust-analyzer ou o clangd está instalado e no seu PATH. Veja LSP e ferramentas para agentes.
Ler o que o agente mudou
É por isso que o editor fica no canvas, ao lado dos agentes: um diff lado a lado de tudo que o agente tocou, na mesma vista em que o agente ainda está trabalhando.
export async function refresh(t: Token) {
- const res = await fetch(URL, { method: "POST" })
+ const res = await withRetry(() =>
+ fetch(URL, { method: "POST", signal }))
if (!res.ok) throw new AuthError(res.status)
return res.json() as Promise<Session>
}
Leia, aceite ou descarte — antes de aquilo entrar em qualquer merge.
Quando um agente edita o mesmo arquivo
Você tem mudanças não salvas, e um agente grava no mesmo arquivo. O Catenary nunca sobrescreve o que você digitou. Uma faixa aparece acima do editor: Changed on disk. Your unsaved edits are kept.
| Botão | O que faz |
|---|---|
| View diff | Mostra a versão do disco contra as suas mudanças não salvas |
| Reload | Fica com a versão do disco |
| Keep mine | Fica com o seu buffer; o próximo salvamento grava por cima do disco |
| Keep both | Junta as duas. Edições que não se sobrepõem se combinam; as que se sobrepõem ganham marcadores de conflito, para você revisar antes de salvar |
Sem mudanças não salvas não há o que proteger, e o editor apenas recarrega. Se o arquivo for apagado enquanto está aberto, a faixa avisa e oferece Save to restore.
Previews
Um arquivo Markdown tem uma chave Source | Split | Preview no canto superior direito, e ⇧⌘V liga e desliga o preview. Ele desenha tabelas e listas de tarefas, callouts > [!NOTE], diagramas Mermaid e fórmulas, com KaTeX.
Um notebook Jupyter (.ipynb) abre como notebook, só para leitura: as células de Markdown como no preview, o código colorido pelo editor e as saídas como o notebook as salvou. Nada roda, porque não há kernel. Open as JSON mostra o arquivo cru.
Arquivos PDF, .docx e imagens abrem num painel de documento.
Links no código
Segure ⌘ e clique num link http://, https:// ou mailto: no editor, e ele abre no seu navegador padrão.
Busca
⇧⌘F abre a busca de conteúdo no workspace inteiro, com ripgrep por trás: texto literal ou regex, opções de caixa e palavra inteira, globs de inclusão e exclusão, e .gitignore respeitado por padrão.
Abas e painéis
Um painel de editor guarda um arquivo, do mesmo jeito que um painel de terminal guarda uma sessão. Dois arquivos lado a lado são dois painéis — é para isso que o canvas serve. Solte vários deles na mesma zona do dock e lá eles viram abas empilhadas.
Um clique simples na árvore de arquivos abre um painel de preview: o próximo clique simples reaproveita esse painel em vez de empilhar mais um. Um clique duplo no arquivo, ou uma edição, fixa o painel.