MNG Sql
Em construção
Instalação
Via VSIX (Local)
- Clone ou baixe este repositório
- Abra a pasta no VS Code
- Instale as dependências:
npm install
- Compile o projeto:
npm run compile
- Pressione
F5 para abrir uma nova janela do VS Code com a extensão carregada
Via Empacotamento
- Instale o
vsce:
npm install -g @vscode/vsce
- Empacote a extensão:
vsce package
- Instale o arquivo
.vsix gerado:
- VS Code > Extensions >
... > Install from VSIX
Como Usar
1. Adicionar uma Conexão
- Clique no ícone do PostgreSQL na barra lateral
- No painel Connections, clique no botão
+ (Add Connection)
- Preencha os dados da conexão:
- Nome da conexão
- Host (ex: localhost)
- Porta (ex: 5432)
- Nome do banco de dados
- Usuário
- Senha
2. Selecionar Conexão Ativa
- Clique em uma conexão na árvore para torná-la ativa
- A conexão ativa será marcada com um ícone de banco de dados preenchido
- O painel Database Structure será automaticamente populado
2.1. Explorar Estrutura do Banco
- No painel Database Structure, expanda o schema desejado (ex: public)
- Expanda Tables para ver todas as tabelas
- Clique em uma tabela para executar
SELECT * LIMIT 100 automaticamente
- Expanda uma tabela para ver suas colunas com tipos de dados
- Use botão direito para copiar nomes de tabelas/colunas
3. Executar Queries
Usando Atalho de Teclado
- Abra um arquivo
.sql
- Selecione a query que deseja executar (ou deixe o cursor em uma query)
- Pressione
Ctrl+Enter (Windows/Linux) ou Cmd+Enter (Mac)
Usando o Botão Play
- Abra um arquivo
.sql
- Clique no botão ▶️ (Play) no canto superior direito
- Durante a execução, o botão muda para ⏹️ (Stop) para cancelar a query
4. Visualizar Resultados
- Os resultados aparecem automaticamente no painel Query Results (junto com o Terminal)
- Mostra estatísticas: número de linhas, duração, número de colunas
- Valores NULL são exibidos em itálico
- Hover sobre células longas para ver o conteúdo completo
- Mesmo nível que o terminal para fácil acesso
Comandos Disponíveis
PostgreSQL: Add Connection - Adicionar nova conexão
PostgreSQL: Execute Query - Executar query (Ctrl+Enter)
PostgreSQL: Stop Query - Cancelar query em execução
PostgreSQL: Select Active Connection - Selecionar conexão ativa
PostgreSQL: Delete Connection - Remover conexão
PostgreSQL: Refresh Connections - Atualizar lista de conexões
PostgreSQL: Refresh Database Structure - Atualizar estrutura do banco
PostgreSQL: Select from Table - Executar SELECT automático na tabela
PostgreSQL: Copy Table Name - Copiar nome completo da tabela
PostgreSQL: Copy Column Name - Copiar nome da coluna
Generate INSERT - Gera statement INSERT com todas as colunas
Generate UPDATE - Gera statement UPDATE (exclui primary keys do SET)
Generate DELETE - Gera statement DELETE com WHERE baseado em primary keys
Generate DDL (CREATE TABLE) - Gera DDL completo com constraints, indexes e foreign keys
Configurações
Acesse File > Preferences > Settings e procure por "PostgreSQL Query Runner":
postgresQueryRunner.maxRows: Número máximo de linhas a exibir (padrão: 1000)
postgresQueryRunner.queryTimeout: Timeout de query em milissegundos (padrão: 30000)
Exemplos
Executar uma query simples
SELECT * FROM users WHERE active = true;
Selecione a query e pressione Ctrl+Enter.
Executar múltiplas queries
-- Query 1
SELECT COUNT(*) FROM orders;
-- Query 2
SELECT * FROM products LIMIT 10;
Selecione a query específica que deseja executar.
SELECT
u.name,
COUNT(o.id) as total_orders
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id, u.name
ORDER BY total_orders DESC;
Exportação de Resultados
Exportação Básica
Após executar uma query, você pode exportar os resultados:
CSV: Clique no botão 📄 CSV no painel de resultados
- Formato texto simples, compatível com Excel e Google Sheets
- Valores com vírgulas/quebras de linha são escapados automaticamente
Excel (XLSX): Clique no botão 📊 Excel no painel de resultados
- Uma única planilha com todos os dados
- Formatação automática de colunas
- Suporta tipos de dados complexos (JSON, datas)
Exportação Avançada ⚙️
A exportação avançada oferece recursos poderosos para datasets grandes e complexos:
Principais Recursos:
- 📑 Múltiplas Planilhas: Agrupe dados por colunas (ex: uma planilha por categoria)
- 🔄 Processamento em Lote: Processe datasets grandes sem travar o VS Code
- 📊 Progresso em Tempo Real: Acompanhe o andamento da exportação
- ⚡ Performance Otimizada: Queries paginadas e processamento assíncrono
Como Usar:
- Execute sua query normalmente
- Clique no botão
⚙️ Advanced no painel de resultados
- Configure as opções:
- Selecione colunas para agrupamento
- Ajuste o tamanho do lote (batch size)
- Clique em "Start Export" e aguarde
- Acompanhe o progresso na tela
- Escolha onde salvar o arquivo quando concluído
Exemplo de Uso:
SELECT
category,
product_name,
price,
stock
FROM products
ORDER BY category, product_name;
Agrupe por category → Uma planilha por categoria (Electronics, Clothing, etc.)
📖 Documentação Completa da Exportação Avançada
Segurança
- As senhas são armazenadas no armazenamento global do VS Code
- As conexões são persistidas entre sessões
- Recomenda-se usar variáveis de ambiente ou arquivos de configuração para senhas em ambientes de produção
Requisitos
- VS Code 1.85.0 ou superior
- PostgreSQL 9.6 ou superior
Limitações Conhecidas
- Suporta apenas PostgreSQL (outros bancos serão adicionados em versões futuras)
- Cancelamento de queries pode não funcionar imediatamente em queries de longa duração
- Valores binários (BLOB) são exibidos como JSON
Desenvolvimento
Estrutura do Projeto
.
├── src/
│ ├── extension.ts # Ponto de entrada da extensão
│ ├── connectionManager.ts # Gerenciamento de conexões
│ ├── connectionTreeProvider.ts # Provider da árvore de conexões
│ ├── databaseExplorer.ts # Provider do explorador de estrutura
│ ├── postgresProvider.ts # Provider PostgreSQL
│ ├── resultsViewProvider.ts # Painel de resultados (WebView)
│ ├── advancedExporter.ts # Exportador avançado XLSX
│ ├── exportConfigPanel.ts # Configuração de exportação
│ ├── exportTypes.ts # Tipos de exportação
│ └── types.ts # Definições de tipos
├── resources/
│ └── database.svg # Ícone da extensão
├── ADVANCED-EXPORT.md # Documentação da exportação avançada
├── package.json # Manifesto da extensão
└── tsconfig.json # Configuração TypeScript
Compilar
npm run compile
Watch Mode
npm run watch
Debug
Pressione F5 para iniciar a extensão em modo debug.
Contribuindo
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature)
- Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature')
- Push para a branch (
git push origin feature/MinhaFeature)
- Abra um Pull Request
Roadmap
- [x] Explorador de schema (tabelas, colunas, views, functions)
- [x] Export de resultados (CSV, XLSX)
- [x] Exportação avançada com agrupamento e processamento em lote
- [ ] Suporte a MySQL
- [ ] Suporte a SQL Server
- [ ] Suporte a SQLite
- [ ] Autocomplete de SQL
- [ ] Histórico de queries
- [ ] Snippets de SQL
- [ ] Formatação automática de SQL
- [ ] Exportação JSON
- [ ] Templates de exportação
- [ ] Exportação em background para datasets muito grandes
Licença
MIT
Autor
Criado com ❤️ para a comunidade VS Code
Suporte
Para reportar bugs ou solicitar funcionalidades, abra uma issue no repositório do projeto.