Delphi for VS Code
Preview visual de formulários GitHub · Instalação · Preview DFM · Configuração O que éExtensão para desenvolvedores Delphi/Pascal que transforma arquivos
Destaques
InstalaçãoDesenvolvimento local
No VS Code: F5 (Extension Development Host) e abra um Empacotar
|
| Ação | Atalho / gesto |
|---|---|
| Selecionar componente | Modo Selecionar (seta) + clique |
| Arrastar a vista | Modo Arrastar (mão) ou Space / Ctrl + arrastar |
| Zoom no cursor | Ctrl + rolagem |
| Zoom botões | + / − / Ajustar na toolbar |
| Ocultar não visuais | Ícone olho ou Ctrl+H |
Navegação código
| Gesto | Destino |
|---|---|
| 1 clique no componente | Linha object Nome: TClasse no .dfm |
| 1 clique no form (área cliente / título) | Linha do form no .dfm |
| Clique no handler na aba Eventos | procedure no .pas |
Duplo clique em componente com OnClick |
Handler OnClick no .pas |
Funciona no canvas, na árvore de componentes e nas listas laterais.
Abas laterais
Esquerda — Propriedades | Eventos
- Propriedades do componente ou form selecionado, com busca
- Eventos como
OnClick → btmSalvarClick(link para o.pas)
Direita — Componentes | Visuais | Não visuais
- Árvore hierárquica com busca
- Listas flat de componentes visuais e não visuais
- Seleção sincronizada com o canvas
Configuração
| Setting | Padrão | Descrição |
|---|---|---|
delphi.dfm.autoPreview |
true |
Abrir/atualizar preview ao focar um .dfm |
{
"delphi.dfm.autoPreview": true
}
Linguagens suportadas
A extensão registra suporte de linguagem para:
.pas— units Pascal/Delphi.dfm— formulários.dpr— projects.dpk— packages
O preview interativo é exclusivo para .dfm em formato texto.
Componentes renderizados (MVP)
VCL
TForm, TPanel, TButton, TLabel, TEdit, TCheckBox, TComboBox, TImage, TShape, TMemo, TGroupBox, TProgressBar, TStatusBar, entre outros.
TMS (sketch)
TAdvToolBarPager, TAdvPage, TAdvToolBar, TAdvGlowButton, TAdvPanel, TAdvOfficeStatusBar — layout simplificado para telas como menus principais.
Não visuais
TTimer, TPopupMenu, TMainMenu, TTrayIcon, styler patterns, etc. — listados e exibíveis como chips no canvas.
Arquitetura (resumo)
.dfm (texto)
↓ parser TypeScript (src/dfm/)
DfmFormPreview + DfmComponent
↓ postMessage
Webview (preview.js + renderers VCL/TMS)
↓ seleção / eventos
navigation.ts → .dfm / .pas no editor
Desenvolvimento
npm run compile # build único
npm run watch # rebuild ao salvar
Fixtures de teste em test/fixtures/ (Form1.dfm, Principal.dfm, etc.).
Limitações conhecidas
- DFM binário não suportado
- Handlers em units diferentes do
.pasdo form não são resolvidos - Layout aninhado complexo (frames, grids) ainda é aproximado
- Edição de propriedades pelo preview não está disponível
Licença
Ícone Delphi baseado no Devicon (MIT).
Feito com foco em produtividade para quem vive de Delphi legado e ERP.