Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Delphi Code NavigationNew to Visual Studio Code? Get it now.
Delphi Code Navigation

Delphi Code Navigation

patrick9as-delphi

|
1 install
| (0) | Free
Go to Definition, Find References e CodeLens para Pascal/Delphi no VS Code — com escopo por projeto (.dproj), sem RAD Studio
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Delphi Code Navigation

Go to Definition, Find References e CodeLens para código Pascal/Delphi no VS Code e Cursor — com escopo por projeto (.dproj, monorepo), sem depender do RAD Studio ou do Code Insight.

Navegue no seu código Delphi como em um IDE moderno: Ctrl+click, F12, Shift+F12 e contagem de referências acima das declarações.

Recursos

Recurso Atalho / gesto
Ir para definição Ctrl+click / F12
Encontrar referências Shift+F12
Referências na declaração Clique em "N referências" acima da linha (CodeLens)
Múltiplos resultados Peek automático (lista embutida)
Projeto ativo (monorepo) Status bar Delphi: NomeDoProjeto
Indexação completa Paleta → Delphi: Indexar projeto ativo

Requisitos

  1. Extensão Pascal (syntax highlighting; dependência declarada)
  2. Abrir a pasta raiz do projeto Delphi no VS Code/Cursor (não apenas um arquivo solto)
  3. Arquivos .pas, .dpr, .dpk, .inc com language ID pascal (padrão da extensão Pascal)

Início rápido

  1. Instale Delphi Code Navigation pela Marketplace do VS Code ou Cursor
  2. Abra a pasta do monorepo ou projeto Delphi
  3. Abra qualquer .pas e use F12 / Shift+F12

A extensão detecta automaticamente o projeto ativo:

  • *.delphilsp.json (Delphi LSP no repo) — escopo via projectFiles
  • *.dproj — units em DelphiCompile / DCCReference
  • Fallback — .dpr mais próximo + manifesto gerado em cache local

Em monorepos, units compartilhadas resolvem para o projeto mais próximo na árvore de pastas. Clique na status bar para trocar manualmente quando necessário.

Após mudanças grandes no projeto (muitos arquivos novos ou alterados), rode Delphi: Indexar projeto ativo uma vez para navegação mais rápida (opcional no dia a dia).

Configuração

Setting Padrão Descrição
delphi.navigation.include **/*.{pas,dpr,dpk,inc} Arquivos incluídos na busca (modo workspace)
delphi.navigation.exclude __history, Win32, dcu, etc. Pastas/arquivos excluídos
delphi.navigation.maxResults 200 Limite de resultados por busca
delphi.navigation.codeLens true Mostrar "N referências" acima de declarações
delphi.navigation.codeLensScope auto Contagem no CodeLens: auto (arquivo → projeto), project ou file (só arquivo)
delphi.navigation.projectScope auto auto = projeto ativo; workspace = busca legada em todo o workspace
delphi.navigation.includeLibraryPaths false Incluir paths -I do delphilsp (experimental)
delphi.navigation.referencesOnComplete auto auto = abre Peek ao terminar (CodeLens); notify = toast com botão Mostrar
delphi.navigation.referencesProgressDelayMs 300 Atraso antes do toast de progresso na busca de referências
{
  "delphi.navigation.projectScope": "auto",
  "delphi.navigation.include": ["**/*.{pas,dpr,dpk,inc}"],
  "delphi.navigation.exclude": [
    "**/{__history,Win32,Win64,node_modules,.git}/**",
    "**/*.{dcu,exe,dll,res}"
  ],
  "delphi.navigation.maxResults": 200
}

Comandos

Comando Descrição
Delphi: Mostrar Referências Abre referências (usado pelo CodeLens)
Delphi: Selecionar projeto ativo Quick Pick para override manual
Delphi: Indexar projeto ativo Rebuild completo do índice em globalStorage

O índice é atualizado incrementalmente ao abrir/salvar arquivos.

Feedback na busca de referências

Ao buscar referências (CodeLens, Shift+F12 ou comando), a extensão mostra:

  • Toast de progresso após ~300 ms (configurável) — "Buscando referências de Ident..."
  • Status bar com spinner — Delphi: buscando Ident...

Recliques durante a busca reutilizam a mesma requisição (sem reiniciar). Com referencesOnComplete: auto (padrão), o Peek abre automaticamente ao concluir.

No modo codeLensScope: auto (padrão), o CodeLens mostra primeiro a contagem no arquivo e atualiza para o total no projeto quando a busca termina — alinhado com Shift+F12.

Como funciona

  1. Resolve o projeto Delphi ativo pelo arquivo aberto
  2. Extrai o identificador sob o cursor
  3. Consulta índice persistente (se disponível) ou busca nos arquivos do projeto
  4. Filtra ocorrências em comentários e strings
  5. Classifica declarações vs usos e ranqueia resultados
  6. Retorna a melhor definição ou lista para Peek

Caso especial: uses

Ctrl+click em um nome de unit na cláusula uses busca unit Nome; no escopo do projeto — inclusive nomes com pontos (ex.: Gsoft.Libs.Consulta.View.Emitente).

Limitações

  • Sem análise de escopo completa (variável local vs field com mesmo nome)
  • Manifesto gerado não replica dccOptions completo — só arquivos do projeto
  • Generics, with, {$IF} podem gerar falsos positivos
  • Units em N projetos usam heurística de pasta; override manual na status bar
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft