Repository navigation
configuracoes
As configurações do Codis são armazenadas em ~/.codis/config.json e gerenciadas pela classe ConfigManager (src/config.py). A janela de Configurações (src/ui/settings_window.py) organiza todas as opções em 24 categorias na sidebar lateral, cada uma documentada nesta página.
| Caminho | O que abre |
|---|---|
Configurações → Abrir Configurações... ou Ctrl+,
|
Janela gráfica com as 24 categorias, campos editáveis e busca |
| Configurações → Atalhos de Teclado... | Editor dedicado de remapeamento de teclas - ver Key Remapper |
| Configurações → Redefinir / Wizard de Setup... | Assistente de primeira configuração / reset completo |
| Configurações → Avançado → Editar JSON Diretamente... | Editor de config.json com syntax highlighting, para quem prefere editar o arquivo bruto |
O menu Configurações foi reorganizado para não duplicar itens que já existem em outros menus: Tema vive em
Exibir → Tema(ver Temas) e Acessibilidade tem entrada própria aqui, mas seu conteúdo completo está em Acessibilidade.
Alterações feitas na janela de Configurações aplicam-se imediatamente à sessão atual, sem reiniciar o Codis - cada categoria é renderizada sob demanda e mantida em cache, então alternar entre elas é instantâneo mesmo em janelas com muitas opções.
Opções fundamentais de edição de texto.
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
font_family |
string | "Consolas" |
Fonte monoespaçada do editor |
font_size |
int | 13 |
Tamanho da fonte do editor (px) |
font_ligatures |
bool | false |
Ativa ligaduras tipográficas - ver Ligatures |
ligature_mode |
string | "pseudo" |
"pseudo" | "native" | "both" | "off"
|
tab_size |
int | 4 |
Espaços por nível de indentação |
use_spaces |
bool | false |
true = espaços; false = tabs |
word_wrap |
bool | true |
Quebra de linha suave |
cursor_style |
string | "line" |
"line" | "block" | "underline"
|
cursor_blinking |
string | "blink" |
"blink" | "solid" | "smooth"
|
smooth_scroll |
bool | true |
Scroll suave |
scroll_speed |
int | 3 |
Velocidade do scroll |
multi_cursor |
bool | true |
Suporte a múltiplos cursores - ver Multi-Cursor |
multicursor_lines |
bool | true |
Multicursor por linhas: Alt+Clique no gutter marca linhas e as teclas se aplicam a todas; Esc limpa |
render_whitespace |
string | "none" |
"none" | "boundary" | "all"
|
indent_guides |
bool | true |
Guias verticais de indentação |
bracket_matching |
bool | true |
Destaca pares de parênteses/colchetes/chaves |
highlight_current_line |
bool | true |
Destaca a linha do cursor |
line_numbers |
bool | true |
Exibe numeração de linhas |
relative_numbers |
bool | false |
Numeração relativa ao cursor (estilo Vim) |
breadcrumbs |
bool | true |
Exibe o breadcrumb de caminho |
minimap |
bool | true |
Exibe o minimapa |
encoding |
string | "utf-8" |
Codificação padrão de arquivos |
eol |
string | "\n" |
Fim de linha: "\n" (LF) | "\r\n" (CRLF) | "\r" (CR) |
Recursos de produtividade documentados em profundidade em Inteligência do Editor.
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
sticky_scroll |
bool | true |
Cabeçalhos de escopo colados no topo |
code_folding |
bool | true |
Dobramento de regiões de código |
inline_blame |
bool | false |
Informações de git blame no editor |
inline_blame_mode |
string | "cursor" |
"cursor" | "all"
|
color_preview |
bool | true |
Amostras de cor para valores hexadecimais |
inlay_hints |
bool | false |
Dicas de tipo injetadas pelo LSP |
smart_tips |
bool | true |
Ativa as dicas contextuais - ver Smart Tips |
smart_tips_interval |
int | 30 |
Intervalo entre análises (ms) |
smart_tips_large_file_lines |
int | - | Limiar de linhas para considerar "arquivo grande" |
smart_tips_huge_file_lines |
int | - | Limiar de linhas para "arquivo enorme" |
smart_tips_big_function_lines |
int | - | Limiar de linhas para "função grande" |
smart_tips_long_line_chars |
int | - | Limiar de caracteres para "linha longa" |
smart_tips_deep_nesting |
int | - | Profundidade de aninhamento considerada excessiva |
smart_tips_todo_threshold |
int | - | Quantidade de TODOs antes de avisar |
smart_tips_generic_var_threshold |
int | - | Tolerância para nomes de variável genéricos |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
autocomplete |
bool | true |
Ativa o autocomplete |
autocomplete_delay |
int | 200 |
Delay para exibir sugestões (ms) |
snippets |
bool | true |
Ativa expansão de snippets |
parameter_hints |
bool | true |
Dicas de parâmetros (LSP) |
hover_docs |
bool | true |
Documentação ao passar o mouse (KDocs/LSP) |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
theme |
string | "fluent_dark" |
Tema ativo - ver Temas |
language |
string | "pt-BR" |
Idioma da interface - ver Idiomas |
ui_font_family |
string | "Segoe UI" |
Fonte da interface (menus, labels) |
ui_font_size |
int | 10 |
Tamanho da fonte da interface |
ui_scale |
int | 0 |
Escala geral da interface em %. 0 = automático (ajusta à resolução/DPI da tela); 50–250 = manual. Aplicado ao vivo |
remote_sync_on_save |
bool | true |
Reenvia ao servidor arquivos remotos ao salvar - ver Remoto |
activity_bar |
bool | true |
Exibe a Activity Bar |
show_welcome |
bool | true |
Exibe tela de boas-vindas na inicialização |
Categoria especial: em vez de uma lista simples de chaves, embute diretamente o CursorPickerPanel (src/ui/cursor_manager.py) - o seletor visual de cursor customizado (emoji, texto ou imagem). Ver Cursor Customizável para os detalhes completos de implementação.
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
sidebar_width |
int | 320 |
Largura inicial da sidebar (px) |
panel_height |
int | 240 |
Altura inicial do painel inferior (px) |
minimap_width |
int | 110 |
Largura do minimapa (px) |
minimap_scale |
int | 3 |
Escala do minimapa |
window_width / window_height
|
int | - | Dimensões da janela principal salvas entre sessões |
max_recent |
int | 20 |
Máximo de entradas na lista de recentes |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
autosave |
bool | false |
Salva automaticamente após inatividade |
autosave_delay |
int | 30 |
Intervalo de autosave em segundos (5–600) |
format_on_save |
bool | false |
Formata o documento ao salvar |
trim_trailing_whitespace |
bool | true |
Remove espaços no fim das linhas ao salvar |
insert_final_newline |
bool | true |
Garante newline no final do arquivo |
session_restore |
bool | false |
Restaura os arquivos abertos ao reiniciar |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
lint_enabled |
bool | true |
Ativa o sistema de lint |
lint_python |
bool | true |
Lint para Python (pylint, mypy, flake8...) |
lint_js |
bool | true |
Lint para JS/TS (ESLint) |
lint_html |
bool | true |
Lint para HTML |
lint_delay |
int | 750 |
Delay após digitação para disparar lint (ms) |
eslint_path / pylint_path / flake8_path / mypy_path / prettier_path
|
string | nome do binário | Caminho dos executáveis externos usados pelo lint |
Categoria própria, antes ausente da documentação - controla a integração com servidores de linguagem usados por Go to Definition, Find References, rename simbólico e mais (ver Editor e Arquitetura).
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
lsp_enabled |
bool | true |
Habilita integração com servidores LSP |
lsp_hover_enabled |
bool | true |
Documentação do LSP ao passar o mouse sobre símbolos |
lsp_format_enabled |
bool | true |
(presente na UI de configurações, mas sem efeito - veja nota abaixo) |
lsp_diagnostics |
bool | true |
Exibe diagnósticos do LSP no painel Problemas |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
git_enabled |
bool | true |
Ativa a integração Git |
git_decorations |
bool | - | Decorações visuais de status Git na file tree |
git_auto_fetch |
bool | false |
Fetch automático periódico |
git_fetch_interval |
int | 180 |
Intervalo de auto-fetch em segundos |
updater_url |
string | "KillovSky/Codis" |
Repositório GitHub para verificação de atualizações (owner/repo) |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
default_shell |
string | detectado automaticamente | Shell padrão - ver Terminal |
terminal_font_size |
int | 12 |
Tamanho da fonte do terminal |
terminal_max_lines |
int | - | Limite de linhas no scroll-back |
Categoria própria, antes sem cobertura na wiki.
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
show_hidden_files |
bool | false |
Exibe arquivos/pastas que começam com ponto (.) |
respect_ignore_files |
bool | true |
Oculta arquivos listados no .gitignore da árvore e da busca |
Categoria própria, antes sem cobertura na wiki.
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
render_internal |
bool | true |
Usa o renderizador interno para Markdown/HTML; quando desativado, usa o navegador padrão do sistema |
Controla o sistema de snapshots automáticos - ver File Timeline.
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
timeline_max_backups |
int | 20 |
Máximo de snapshots mantidos por arquivo (5–100) |
timeline_max_age_days |
int | 30 |
Backups mais antigos que isso são removidos automaticamente (1–365 dias) |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
flowchart_auto |
bool | false |
Gera o diagrama de fluxo automaticamente ao editar o arquivo |
flowchart_max_depth |
int | 3 |
Profundidade máxima de chamadas analisadas (1–8) |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
pomodoro_work_min |
int | 25 |
Duração de cada sessão de trabalho em minutos (5–90) |
pomodoro_break_min |
int | 5 |
Duração da pausa curta em minutos (1–30) |
pomodoro_long_break_min |
int | 15 |
Duração da pausa longa após um ciclo completo (5–60) |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
kui_perf |
string | "balanced" |
Perfil de animações da K-UI |
hl_idle_ms |
int | 60 |
Intervalo de atualização do highlighting em idle (ms) |
perf_auto_mode |
bool | true |
Detecta travamentos e aplica modo performance automaticamente |
perf_freeze_threshold_ms |
int | 500 |
Milissegundos sem resposta antes de considerar travamento |
perf_mode |
string | "auto" |
"auto" | "balanced" | "fast" | "minimal"
|
perf_native_bindings |
bool | false |
Extensões C nativas (requer compilação; desabilitado por padrão) |
perf_kui_fallback / perf_keep_minimap / perf_keep_sticky_scroll / perf_keep_heatmap / perf_keep_rhythm / perf_keep_lint / perf_keep_kui_anim
|
bool | - | Toggles individuais do que manter ativo mesmo em modo performance - ver Modo Performance |
autocomplete_min_chars |
int | 1 |
Mínimo de caracteres para disparar autocomplete |
autocomplete_max_items |
int | 24 |
Máximo de itens na lista de sugestões |
large_file_mb |
int | 3 |
Limiar em MB para ativar o modo de arquivo grande |
search_max_results |
int | 2000 |
Máximo de resultados na busca em arquivos |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
workspace_trust |
bool | true |
Exibe diálogo de confiança ao abrir pastas desconhecidas - ver Workspace Trust |
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
font_min |
int | 7 |
Tamanho mínimo de fonte permitido pelo zoom |
font_max |
int | 36 |
Tamanho máximo de fonte permitido pelo zoom |
debug_dap_enabled |
bool | true |
Usa debugpy/DAP real (breakpoints, stepping, variáveis) quando disponível. Desative para forçar execução simples no Painel de Debug. |
debug_dap_port |
int | 5678 |
Porta local usada pela conexão DAP com o debugpy. Mude se houver conflito com outra ferramenta usando a mesma porta (ex: VS Code). |
O Editor JSON Diretamente (edição bruta do
config.json) é acessado pelo menu Configurações → Avançado, não por esta categoria - ela trata apenas dos limites de zoom de fonte e do depurador.
Ver também: Debug
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
a11y_high_contrast |
bool | false |
Alto contraste (WCAG AA) |
a11y_colorblind_mode |
string | "" |
"" | "protanopia" | "deuteranopia" | "tritanopia" | "achromatopsia"
|
a11y_screen_reader |
bool | false |
Anúncios TTS para leitores de tela |
a11y_keyboard_nav |
bool | true |
Navegação aprimorada por Tab e setas |
a11y_large_ui_font |
bool | false |
Força fonte de UI mínima de 13pt |
a11y_reduce_motion |
bool | false |
Desativa animações e transições |
Ver também: Acessibilidade
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
ssh_default_port |
int | 22 |
Porta padrão para novos perfis |
ssh_connect_timeout |
int | 15 |
Timeout de conexão (segundos) |
ssh_keepalive_interval |
int | 30 |
Intervalo keepalive em segundos (0 desabilita) |
ssh_agent_forwarding |
bool | false |
Forwarding do agente SSH |
ssh_strict_host_key |
bool | true |
Verifica a chave do host estritamente |
ssh_sftp_buffer_kb |
int | 64 |
Buffer SFTP em KB |
ssh_open_in_editor |
bool | true |
Baixa e abre arquivo remoto diretamente no editor |
O Túnel de Debug SSH (botão Abrir Túnel Debug no painel remoto) usa as portas informadas diretamente no próprio diálogo, não as chaves
debug_dap_*- essas pertencem ao Painel de Debug local (categoria Avançado). São mecanismos independentes; veja Debug Remoto e Debug.
Ver também: SSH Remoto
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
collab_enabled |
bool | false |
Habilita ícone de colaboração na Activity Bar |
collab_port |
int | 9001 |
(não utilizada pelo painel atual - veja nota abaixo) |
collab_max_peers |
int | 8 |
Máximo de participantes simultâneos |
collab_show_cursors |
bool | true |
Exibe cursores dos participantes remotos |
collab_show_chat |
bool | true |
Chat integrado visível |
collab_autosave_sync |
bool | true |
Sincroniza auto-save entre participantes |
Ver também: Colaboração
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
plugin_isolation |
bool | true |
Plugins marcados com isolated=True rodam em processo separado |
plugin_timeout_s |
int | 10 |
Timeout de chamadas síncronas ao worker (segundos) |
plugin_heartbeat_s |
int | 30 |
Timeout de heartbeat - processo sem resposta é reiniciado |
plugin_max_restarts |
int | 3 |
Reinícios automáticos antes de desabilitar o plugin |
plugin_sandbox_network |
bool | false |
Bloqueia acesso à rede em workers isolados (experimental) |
Ver também: Plugins - Processo Isolado
Esta categoria abre o CustomKeywordsPanel em vez de uma lista de chaves simples. Permite definir palavras-chave adicionais por linguagem com cor de destaque personalizada, expandindo o highlight de sintaxe além dos padrões embutidos.
As keywords são persistidas em config.json na chave custom_keywords como lista de objetos:
"custom_keywords": [
{ "keyword": "minha_funcao", "color": "#ff79c6", "lang": "python" },
{ "keyword": "CONSTANTE", "color": "#f1fa8c", "lang": "javascript" }
]| Campo | Tipo | Descrição |
|---|---|---|
keyword |
string | Palavra-chave exata a ser destacada (sensível a maiúsculas) |
color |
string | Cor no formato #rrggbb ou #rgb
|
lang |
string | Linguagem alvo (ex: python, javascript, any para todas) |
As keywords customizadas são aplicadas pelo highlighter de sintaxe com prioridade após os padrões embutidos, podendo sobrescrever a cor de termos já definidos. Alterações são aplicadas imediatamente ao arquivo ativo sem reiniciar o Codis.
Chaves presentes em DEFAULT_CONFIG (src/constants.py) que complementam as categorias acima.
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
menubar_position |
string | "top" |
Posição da barra de menus: "top" ou "bottom" (menu Exibir) |
rulers |
lista | [] |
Colunas das réguas verticais do editor |
lint_php |
bool | true |
Lint para PHP |
recent_files / recent_folders
|
lista | [] |
Histórico de arquivos e pastas recentes (gravado automaticamente) |
exit_save_mode |
string | "ask" |
Ao sair com alterações: "ask" pergunta, "save" sempre salva, "discard" descarta |
session_save_on_exit |
bool | true |
Grava abas e pasta ao sair; desligado, o Codis abre limpo |
confirm_delete |
bool | true |
Pede confirmação antes de excluir arquivos |
trash_backend |
string | "workspace" |
"workspace" move para .codis_trash/ do projeto; "system" usa a lixeira do SO (send2trash, com fallback para a do projeto) |
trash_retention_days |
int | 0 |
Dias de retenção na lixeira (0 = sem limite) |
trash_max_mb |
int | 0 |
Tamanho máximo da lixeira em MB (0 = sem limite) |
kui_enabled |
bool | false |
Liga o K-UI |
perf_keep_inline_blame / perf_keep_inlay_hints
|
bool | false |
Mantém blame inline / inlay hints ativos no modo performance |
perf_keep_color_preview / perf_keep_ligatures / perf_keep_autocomplete / perf_keep_folding / perf_keep_hl
|
bool | true |
Mantém cada recurso ativo no modo performance |
github_token |
string | "" |
PAT do GitHub (limite de API do Atualizador e da loja de plugins) |
auto_check_updates |
bool | true |
Verifica atualizações silenciosamente ao iniciar |
Estas chaves são lidas pelo código (com valor padrão no ponto de uso), mas não aparecem na janela de Configurações; várias são gravadas automaticamente pela interface. Edite config.json só se souber o que está fazendo.
| Chave | Tipo | Padrão | Descrição |
|---|---|---|---|
user_name |
string | "" |
Autor padrão preenchido nos templates de projeto |
actbar_visible_items |
lista | null |
null (todos) |
Itens visíveis da Activity Bar (gravado pelo menu de personalização) |
cursor_preset |
string | "system" |
Preset do cursor customizado |
cursor_color |
string | "#cdd6f4" |
Cor do cursor customizado |
cursor_size |
int | 22 |
Tamanho do cursor customizado |
cursor_emoji |
string | "✦" |
Emoji usado como cursor (preset emoji) |
terminal_scrollback |
int | 10000 |
Linhas mantidas no scrollback |
terminal_conpty |
bool | true |
Usa ConPTY no Windows quando disponível |
terminal_load_shell_rc |
bool | true |
Carrega .bashrc/.zshrc ao abrir o shell |
ia_provedor |
string | primeiro provedor disponível | Provedor de IA ativo |
ia_provedores_cfg |
dict | {} |
Configuração por provedor (modelo, URL, chave) |
ia_mode |
string | "edit" |
Modo da IA (Perguntar / Editar / Agente) |
ia_context_tokens |
int |
24000 (mínimo 4000) |
Orçamento de tokens de contexto |
ia_auto_approve_levels |
lista | ["SAFE"] |
Níveis de risco aprovados automaticamente pelo Approval Gate |
ia_privacy_warning_shown |
bool | false |
Aviso de privacidade da IA já exibido |
plugin_store_repo |
string |
"" (usa o repositório oficial) |
Repositório da loja de plugins |
plugin_store_branch |
string | "main" |
Branch da loja de plugins |
kui_dock_pinned |
bool | false |
Dock do K-UI fixado |
screensaver_idle_s |
int | 9999 |
Segundos de inatividade para o protetor de tela do K-UI |
Os padrões acima refletem os
.get(chave, padrão)do código na versão 1.0.1; se divergirem, o código é a fonte da verdade.
A interface do Codis é internacionalizada via src/i18n.py:
| Código | Idioma |
|---|---|
pt-BR |
Português (Brasil) - idioma base, usado como fallback |
en |
English |
es |
Español |
fr |
Français |
de |
Deutsch |
zh-CN |
中文(简体) |
ja |
日本語 |
ko |
한국어 |
ru |
Русский |
uk |
Українська |
pl |
Polski |
nl |
Nederlands |
tr |
Türkçe |
it |
Italiano |
A troca de idioma reconstrói os menus imediatamente, sem reiniciar o Codis. Toda chave de tradução ausente em um idioma cai automaticamente para o texto em pt-BR (idioma base do sistema de i18n).
-
Escrita atômica: salva primeiro em
.json.tmpe depois renomeia paraconfig.json, evitando corrupção em caso de falha durante a escrita. -
Modo degradado: se
~/.codis/não puder ser criado (permissões), o ConfigManager opera em memória, sem persistência entre sessões. -
Backup automático: se
config.jsonestiver corrompido, é renomeado para.json.bake os padrões são usados. - Coerção de tipos: valores numéricos lidos como string são convertidos automaticamente.
-
Callbacks de mudança: componentes podem se registrar para receber notificações quando uma chave específica muda, via
cfg.on_change("theme", callback).
Começando
Editando
- Editor
- Inteligência do Editor
- KDocs
- Linting & LSP
- Debug
- Git
- Terminal
- Workspace & Produtividade
- Utilitários de Desenvolvimento
Assistente e conectividade
Ferramentas e extras
- Recursos Avançados
- Recursos Exclusivos
- K-UI
- Sistema & Performance
- Backups, Lixeira & Arquivos
- Painel de Saída
- Acessibilidade
- Editor de Imagens (Paint)
- Utilitários Pessoais
- Incorporar Programas e Preview Web
- DOOM Embutido
Para quem desenvolve
Projeto