Skip to content

configuracoes

github-actions[bot] edited this page Nov 14, 2026 · 2 revisions

⚙️ Configurações

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.


Como Acessar as Configurações

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.


As 24 Categorias

✏ Editor

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)

− Editor Avançado

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

💬 Autocomplete

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)

A Aparência

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

🖱 Cursor

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.

🖥 Interface / Layout

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

💾 Salvamento

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

🔍 Lint

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

🔤 LSP (Language Server Protocol)

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

🌿 Git

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)

💻 Terminal

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

📁 Árvore de Arquivos (FileTree)

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

🌐 Render

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

🕒 Timeline

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)

🔀 Flowchart

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)

⏱ Pomodoro

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)

P Performance

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

🔒 Security

Chave Tipo Padrão Descrição
workspace_trust bool true Exibe diálogo de confiança ao abrir pastas desconhecidas - ver Workspace Trust

⚙ Avançado

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

♿ Acessibilidade

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

🖧 SSH Remoto

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

👥 Colaboração

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

🔌 Plugins

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

🎨 Sintaxe Customizada

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 Complementares do DEFAULT_CONFIG

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

Chaves Avançadas e de Estado

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.


Idiomas

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).


Comportamento do ConfigManager

  • Escrita atômica: salva primeiro em .json.tmp e depois renomeia para config.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.json estiver corrompido, é renomeado para .json.bak e 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).

Clone this wiki locally