🛠️ Formatador, Variáveis de Ambiente e Grafo de Dependências#
Esta página cobre três utilitários de desenvolvimento que ficam na categoria Ferramentas → Utilitários de Desenvolvimento: o Formatador/Validador de dados estruturados, o Gerenciador de Variáveis de Ambiente e o Visualizador de Grafo de Dependências.
Os demais utilitários dessa mesma categoria - Color Picker, Regex Playground, SQL Studio, REST Client, Diff Viewer, Code Stats e Flowchart - já estão documentados em Recursos Avançados.
{ } Formatador de Dados (src/ui/formatter_panel.py)#
Atalho: Ctrl+Alt+F ou Ferramentas → Utilitários de Desenvolvimento → Formatador.
Formatos suportados#
JSON, YAML, TOML e XML.
Funcionalidades#
| Ação | O que faz |
|---|---|
| Formatar | Reindenta e organiza o conteúdo no formato escolhido, com indentação consistente |
| Minificar | Remove espaços e quebras de linha desnecessárias, gerando a versão mais compacta |
| Validar | Verifica a sintaxe e exibe erros com número de linha e coluna exatos |
| Converter | Converte entre formatos: JSON ↔ YAML ↔ TOML |
| Comparar | Abre o conteúdo formatado em duas versões no Diff Viewer |
Fluxo típico#
- Cole ou digite o conteúdo no painel de entrada
- Escolha o formato de origem (detectado automaticamente quando possível)
- Use Validar antes de formatar, se quiser garantir que a sintaxe está correta
- Formatar/Minificar processa o conteúdo no painel de saída
- Copiar resultado ou Salvar arquivo para persistir o resultado
A árvore de estrutura (painel lateral) permite explorar o documento de forma hierárquica, útil para JSON/YAML profundamente aninhados.
⚙ Gerenciador de Variáveis de Ambiente (src/ui/env_manager.py)#
Atalho: Ferramentas → Utilitários de Desenvolvimento → Variáveis de Env.
A janela tem três abas:
| Aba | Conteúdo |
|---|---|
| Env Atual | Todas as variáveis de ambiente do processo Codis em execução |
| Perfis .env | Arquivos .env salvos, importáveis/exportáveis |
| Snippets | Trechos prontos para exportar variáveis em diferentes shells |
Funcionalidades#
- Visualizar todas as variáveis do processo atual (
os.environ) - Adicionar, editar ou remover variáveis para a sessão corrente (afeta apenas o processo do Codis, não o sistema)
- Perfis
.env: criar, importar e exportar arquivos.envcompletos, e aplicá-los à sessão atual - Pesquisa e filtro por nome de variável
- Geração de snippets prontos em
export VAR=valor(bash),setx VAR valor(cmd) e$env:VAR = "valor"(PowerShell) - Diff entre o env atual e um perfil salvo - útil para descobrir rapidamente o que mudou entre ambientes (ex.: comparar
.env.productioncom o ambiente local)
Parsing de .env#
O parser interno (_parse_env_file) lê o formato .env simples (CHAVE=valor por linha, com suporte a comentários # e linhas vazias ignoradas).
🔗 Dependency Graph (src/ui/dependency_graph.py)#
Atalho: Ferramentas → Utilitários de Desenvolvimento → Grafo de Deps.
Analisa os imports de arquivos Python no workspace e renderiza um grafo interativo de dependências, desenhado inteiramente em Canvas Tkinter - sem nenhuma biblioteca de grafos externa.
Como funciona#
- Faz o parse de
import Xefrom X import Yem todos os arquivos.pydo workspace, usandoast(com fallback para regex se o parse falhar) - Classifica cada módulo encontrado em três categorias coloridas:
| Categoria | Cor | Critério |
|---|---|---|
| stdlib | Verde | Está em sys.stdlib_module_names |
| local | - | Faz parte do próprio workspace |
| third-party | - | Pacote externo instalado (não é stdlib nem local) |
- Aplica um layout força-dirigida (force-directed) implementado nativamente para posicionar os nós de forma legível
- Renderiza o grafo com zoom e pan via mouse
Funcionalidades adicionais#
- Clique em um nó para abrir o arquivo correspondente diretamente no editor
- Filtro por nome de módulo
- Checkbox para mostrar/ocultar módulos stdlib (reduz ruído visual em projetos grandes)
- Ciclos de dependência são destacados em vermelho - útil para identificar imports circulares antes que causem erro em runtime
- Exportação como DOT (formato Graphviz), permitindo renderizar o grafo externamente com
dot -Tpng grafo.dot -o grafo.pngou importar em outras ferramentas de visualização