🖥️ Interface#
O Codis segue um layout inspirado em editores modernos, composto por cinco regiões principais.
Layout Geral#
┌──────────────────────────────────────────────────────────────┐
│ Menu Bar (Arquivo · Editar · Seleção · Exibir · ...) │
├────┬────────────┬─────────────────────────────────────────────┤
│ │ │ Tab Bar │
│ │ ├─────────────────────────────────────────────┤
│ A │ Sidebar │ Breadcrumb │
│ c │ (Explorer │ ───────────────────────────────────────── │
│ t │ Git │ │
│ i │ Busca │ Área do Editor │
│ v │ IA │ │
│ i │ etc.) │ │
│ t │ ├─────────────────────────────────────────────┤
│ y │ │ Painel Inferior (Terminal · Output · ...) │
│ B │ │ │
│ a ├────────────┴─────────────────────────────────────────────┤
│ r │ Barra de Status │
└────┴─────────────────────────────────────────────────────────┘
Activity Bar (Barra de Atividades)#
A barra vertical de 48 px à esquerda é fixa e contém os ícones de navegação principal.
A Activity Bar é composta por itens estáticos (lista fixa em ITEMS_TOP/ITEMS_BOTTOM) e itens dinâmicos, adicionados via add_plugin_item() durante a inicialização. A maior parte dos itens fica oculta por padrão - o usuário ativa via clique direito na barra (personalização).
Itens estáticos (ITEMS_TOP)#
| Ícone | Painel | Tecla | Visível por padrão |
|---|---|---|---|
| 📁 | Explorer (árvore de arquivos) | Ctrl+Shift+E |
Sim |
| 🔍 | Buscar em Arquivos | Ctrl+Shift+F |
Sim |
| 🌿 | Source Control (Git) | (rótulo "Ctrl+Shift+G", sem bind real - veja Git) | Sim |
| ▶ | Executar/Depurar | Ctrl+Shift+D |
Sim |
| 🔌 | Extensões (Plugins) | Ctrl+Shift+X |
Não |
[IA] |
Assistente de IA | Ctrl+Shift+A |
Não |
| 🔷 | Outline | - | Não |
| 🔖 | Bookmarks | F2 |
Não |
| 📝 | Scratchpad | Ctrl+Shift+N* |
Não |
| ⚠ | Problemas | (rótulo "Ctrl+Shift+M", bind real é Ctrl+M) |
Não |
| 🗂 | SSH Remoto | Ctrl+Shift+H |
Não |
| 💬 | Chat ao Vivo | Ctrl+Shift+T |
Sim |
| 🤝 | Colaboração | - | Não |
| ♿ | Acessibilidade | Ctrl+Shift+U |
Não |
* Com o foco no editor de código, Ctrl+Shift+N é capturado primeiro pelo Sticky Note Gutter.
Itens estáticos (ITEMS_BOTTOM)#
| Ícone | Painel | Tecla |
|---|---|---|
| ⊟ | Terminal | Ctrl+` |
| ⚙ | Configurações | Ctrl+, |
Th |
Tema (cicla para o próximo) | - |
Itens dinâmicos (registrados via add_plugin_item())#
| Ícone | Painel | Tecla |
|---|---|---|
| 🗄 | SQL Studio | Ctrl+Shift+Q |
| 📊 | Code Stats | - |
| ✅ | Tarefas (Kanban + Agendador) | - (sem atalho dedicado, apesar do que sugerem outras fontes) |
| 🌍 | REST Client | - |
| 🌐 | Preview / Render | - |
| ⏱ | Pomodoro | Ctrl+Alt+P |
| 🔀 | Flowchart | - |
| ✂️ | Snippets | Ctrl+Shift+J |
| ⏱ | Time Tracker | - |
| 🔗 | Dependency Graph | - |
| 📚 | Outline/Docs | - |
Clicar no mesmo ícone que está ativo fecha a sidebar. O ícone de Tema (Th) na parte inferior alterna para o próximo tema ciclicamente.
Plugins podem registrar novos itens na Activity Bar via api.add_sidebar_panel() (não register_panel() - veja Plugins).
Sidebar#
A sidebar (painel lateral) exibe o conteúdo correspondente ao item selecionado na Activity Bar.
Redimensionamento: arraste o divisor entre a sidebar e a área do editor.
Ocultação rápida: clique no botão flutuante ◀ / ▶ que aparece na borda esquerda da área do editor, ou pressione Ctrl+B (se configurado via plugin).
Explorer#
Exibe a árvore de arquivos do workspace. Suporta:
- Ícones por tipo de arquivo
- Indicadores de status Git (modificado, novo, ignorado)
- Menu de contexto (clicar com botão direito): renomear, excluir, novo arquivo/pasta
- Duplo clique para abrir; clique simples para pré-visualizar (peek)
Se nenhum workspace estiver aberto, um placeholder com botão Abrir Pasta é exibido no lugar da árvore.
Busca em Arquivos#
Pesquisa de texto completo em todos os arquivos do workspace. Suporta:
- Filtros de inclusão/exclusão de paths (
*.py,!node_modules) - Resultado clicável que abre o arquivo na linha correspondente
- Respeita
.gitignorequandorespect_ignore_files = true
Source Control (Git)#
Ver Git.
Assistente de IA#
Ver Assistente de IA.
Área do Editor#
A região central contém:
- Tab Bar - abas de arquivos abertos, com indicador
●para arquivos modificados. - Breadcrumb - caminho completo do arquivo em camadas clicáveis. Pode ser ocultado via Exibir → Breadcrumbs. A breadcrumb é limpa automaticamente ao fechar a última aba aberta, não exibindo o caminho do arquivo fechado.
- Search Bar - barra de busca/substituição flutuante, ativada por
Ctrl+FouCtrl+H. - Container do Editor - onde os
EditorPanes são exibidos.
Múltiplas Abas#
Ctrl+Tab- próxima abaCtrl+Shift+Tab- aba anteriorCtrl+W- fechar aba ativa- Ao fechar uma aba com modificações, o Codis pergunta se deseja salvar.
Split Editor#
Use Exibir → Split Editor (ou o comando na Paleta de Comandos) para abrir o mesmo arquivo em uma segunda aba lado a lado. Cada aba mantém seu próprio estado de cursor e scroll.
Painel Inferior#
O painel inferior (bottom panel) contém oito abas:
| Aba | Conteúdo |
|---|---|
| ⚠ Problemas | Diagnósticos de lint e LSP |
| ⬛ Terminal | Terminal integrado com múltiplos shells |
| 📤 Saída | Log de eventos do editor e plugins |
| 🌿 Git | Instância adicional do painel Git |
| 📊 Diff | Comparação lado a lado de arquivos |
| 🐛 Debug | Painel de depuração |
| 🎯 Regex | Regex Playground interativo |
| 🗄 SQL | SQL Studio - banco de dados integrado |
Abrir/fechar: botão flutuante ▲ / ▼ no canto inferior direito, ou Ctrl+` para o Terminal, ou Ctrl+Shift+Q para o SQL Studio.
No modo K-UI, cada aba pode ser "despluggada" (⊞) para uma janela flutuante independente. Clique com o botão direito em qualquer aba para ver a opção.
Barra de Status#
A barra de status inferior exibe (da esquerda para a direita):
| Elemento | Ação ao clicar |
|---|---|
| 🌿 Branch Git + contagem de mudanças | Abre o painel Git |
| ⚠ Erros / ✔ Avisos | Abre o painel de Problemas |
| Nome da linguagem | Abre seletor de linguagem |
| Codificação (UTF-8, etc.) | Abre seletor de codificação |
| Fim de linha (LF / CRLF) | Abre seletor de EOL |
| Indentação (Tabs / Espaços: N) | Abre seletor de indentação |
| Posição do cursor (Ln X, Col Y) | - |
| Seleção (N chars, N linhas) | - |
| Zoom (100%) | Abre seletor de zoom |
Notificações temporárias aparecem no centro da barra de status (ex: "Arquivo salvo", "Lint em execução"). Clicar na área de notificação abre um popup com o histórico de notificações recentes da sessão.
Botões de Alternância Flutuantes#
Dois pequenos botões flutuantes ficam sempre visíveis sobre a interface:
▶/◀- na borda esquerda da área do editor, alterna a sidebar.▲/▼- no canto inferior direito (acima da barra de status), alterna o painel inferior.
Barra de Menus#
A barra de menus contém os seguintes menus:
| Menu | Conteúdo principal |
|---|---|
| Arquivo | Novo, Abrir, Salvar, Recentes, Autosave, Fechar, Reiniciar, Sair |
| Editar | Undo/Redo, Copiar/Colar, Busca/Substituição, Manipulação de linhas, Transformações, Histórico de colagem, Formatar |
| Seleção | Selecionar tudo, linha, copiar linha acima/abaixo |
| Exibir | Paleta de Comandos, painéis, temas, quebra de linha, minimapa, breadcrumbs, zoom, tela cheia, split |
| Ir | Ir para linha, símbolo, próximo/anterior problema/aba/colchete |
| Executar | Executar arquivo, formatar, lint, corrigir tudo |
| Terminal | Novo terminal, limpar, matar, executar seleção |
| Plugins | Gerenciar, instalar, abrir pasta de plugins |
| Ferramentas | Contador de palavras, codificação Base64/URL, hash, inserir sequência, painéis nativos, LSP, modos especiais |
| Ajuda | Boas-vindas, documentação, atalhos, Sobre |
Navegação por Teclado nos Menus#
Os dropdowns da barra de menus suportam navegação completa por teclado:
| Tecla | Ação |
|---|---|
↑ / ↓ |
Move o destaque entre itens do dropdown aberto |
← / → |
Alterna entre menus de nível superior (ex: Arquivo → Editar) |
Enter |
Ativa o item destacado |
Escape |
Fecha o dropdown |
Alt + letra |
Abre o menu correspondente à letra sublinhada |
Os dropdowns também fecham automaticamente quando a janela principal é minimizada.
Paleta de Comandos#
Pressione Ctrl+Shift+P para abrir a Paleta de Comandos - um campo de busca fuzzy que lista todos os comandos disponíveis (incluindo os de plugins). A paleta exibe o atalho de teclado associado a cada comando.
Ctrl+P abre a Abertura Rápida de Arquivos, uma versão da paleta focada em arquivos recentes.