Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Delphi DFM Form PreviewNew to Visual Studio Code? Get it now.
Delphi DFM Form Preview

Delphi DFM Form Preview

patrick9as-delphi

|
15 installs
| (0) | Free
Delphi language support with interactive DFM form preview
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Delphi for VS Code

Delphi for VS Code

Preview visual de formulários .dfm direto no editor — estilo designer, sem sair do VS Code.

GitHub · Instalação · Preview DFM · Configuração


O que é

Extensão para desenvolvedores Delphi/Pascal que transforma arquivos .dfm em uma pré-visualização interativa ao lado do código. Ideal para navegar forms grandes, entender layout e ir rápido do componente no preview para a linha no .dfm ou no handler no .pas.

DFM binário (TPF0) não é suportado — use o formato texto no Delphi antes de abrir o preview.


Destaques

Recurso Descrição
Preview ao vivo Abre automaticamente ao focar um .dfm (configurável)
Layout 3 colunas Propriedades/Eventos · Canvas · Componentes / Visuais / Não visuais
Renderização VCL Botões, painéis, labels, edits, imagens, shapes e mais
Sketch TMS Componentes TAdv* (ribbon, toolbar, glow buttons) reconhecíveis
Align no form alTop, alClient, alBottom nos filhos diretos do form
Não visuais Listados na sidebar e opcionalmente no canvas (chips com ícone)
Pan & zoom Estilo Excalidraw: Ctrl+scroll no cursor, Space/Ctrl+arrastar
Navegação código Clique → .dfm · evento → .pas · duplo clique → OnClick no .pas
Múltiplos .dfm Um painel sincroniza com o .dfm da aba ativa

Instalação

Desenvolvimento local

git clone https://github.com/patrick9as/Delphi.VsCode.git
cd Delphi.VsCode
npm install
npm run compile

No VS Code: F5 (Extension Development Host) e abra um .dfm.

Empacotar .vsix

npm install -g @vscode/vsce
vsce package

Instale o .vsix gerado via Extensions → Install from VSIX.


Preview DFM

Abrir o preview

  • Automático — foco em qualquer .dfm (padrão)
  • Manual — botão Preview na barra do editor ou comando Delphi: Preview DFM

Layout

┌─────────────────┬──────────────────────────┬─────────────────┐
│ Propriedades    │                          │ Componentes     │
│ Eventos         │      Canvas (form)       │ Visuais         │
│                 │                          │ Não visuais     │
└─────────────────┴──────────────────────────┴─────────────────┘

Canvas — ferramentas e zoom

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 .pas do 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

MIT

Ícone Delphi baseado no Devicon (MIT).


Feito com foco em produtividade para quem vive de Delphi legado e ERP.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft