Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>RPGLE AnalyzerNew to Visual Studio Code? Get it now.
RPGLE Analyzer

RPGLE Analyzer

Santyvv

|
71 installs
| (0) | Free
RPGLE structural analyzer for Outline, control-flow navigation, and smart preview.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

RPGLE Analyzer

Professional-grade VS Code extension for RPGLE analysis — from AST-powered parsing to inline diagnostics, cross-file /COPY resolution, and scope-aware code completion.

RPGLE Analyzer keeps the built-in Outline structural and adds separate views for semantic, impact, and graph analysis.

Version 0.11.2 — Fix de estabilidad en Hover para fuentes complejos, Data Flow Visual webview unificado, toggle legacy views, EXSR tracking, Graph Explorer SVG, Smart Preview virtual scroll, Hover unificado con gutter decorations.

What It Gives You

Feature Description
🔍 Outline Structural view: procedures, parameters, subroutines, prototypes, variables, DS fields, files, constants, indicators, SQL cursors, H/I specs
🧭 Go to Definition F12 / Ctrl+click — scope-aware navigation to declarations
💬 Hover Tooltips KIND: NAME [SCOPE] [DETAIL] on symbol hover
🩺 Diagnostics Inline Real-time errors/warnings on save: unused variables, unclosed blocks, unresolved prototypes
🔬 Semantic Insights Read/write analysis by variable and scope, including legacy opcodes (MOVE, Z-ADD, ADD) and SQL INTO :var
📂 Cross-file /COPY Recursive resolution of /COPY and /INCLUDE directives (up to 10 levels deep) with caching
✨ Code Completion 40+ RPGLE keywords, 8 snippets, scope-aware variables, subfields after DS_NAME., procedures for CALLP
🌐 Graph Explorer Local call graph, file interactions, LikeDS relations
🔗 Impact Explorer Forward invocation flow + basic incoming callers
📊 Data Flow Visual Unified panel: File I/O graph, Read/Write Analysis table, Impact Propagation + Field Origins. Replaces Semantic Insights, Data Flow Tree, and Impact Explorer
📐 Smart Preview Indented structural preview with block/branch visualization
🔃 Folding & CodeLens Block close-to-open navigation
🧭 Go To Parent IF Navigate from ELSE/ELSEIF to parent IF

Supported Scope

Kind Formats
Procedures P ... B/E, dcl-proc / end-proc
Subroutines BEGSR / ENDSR (fixed + free)
PI Parameters Fixed D-spec + free dcl-pi
Prototypes PR, DCL-PR with extproc/extpgm
Variables D, DCL-S, DCL-DS — all RPGLE types (char, varchar, packed, zoned, binary, float, int, date, time, timestamp, arrays, pointers, based)
DS Fields Named + unnamed, nested, likeds
Constants DCL-C + fixed-form
Indicators *IN.., *INLR, *INRT
KLIST / KFLD Fixed + free
Files F, DCL-F (disk, printer, display, workstn)
SQL Cursors EXEC SQL DECLARE <cursor> CURSOR ...
Control-flow IF/ELSE/ELSEIF/ENDIF, DOW/DOU/DO/ENDDO, FOR/ENDFOR, SELECT/WHEN/OTHER/ENDSL, MONITOR/ON-ERROR/ENDMON, BEGSR/ENDSR
H/I/O Specs Fixed-format H, I, O specs
Cross-file /COPY, /INCLUDE — recursive with cache

Main Views

Outline

Use the standard VS Code Outline when you want structure first.

  • Procedures stay grouped and readable
  • Local definitions stay inside their procedure
  • DS fields appear nested under their parent structure
  • Optional reference lines can be shown under declarations

Go to Definition & Hover

Press F12 or Ctrl+click on any symbol to jump to its declaration. Hover over symbols to see kind, scope, and detail information. Scope-aware: resolves local variables before globals.

Diagnostics

Errors and warnings appear inline as you type (debounced) and on save:

  • ⚠️ Warning: declared variable never used
  • ❌ Error: procedure/subroutine/block without matching close
  • ⚠️ Warning: prototype without matching procedure or CALLP

Semantic Insights

Use RPGLE: Open Semantic Insights when you want variable-level analysis. (redirige a Data Flow Visual si useLegacyTreeViews: false)

  • Groups variables by scope
  • Shows Read, Write, and Read/Write counts
  • Detects legacy opcodes: MOVE, MOVEL, Z-ADD, ADD
  • Detects SQL INTO :var as write
  • Supports partial-text filtering
  • Lets you jump to declarations and relevant references

Data Flow Visual

Use RPGLE: Open Data Flow Visual (o cualquiera de los comandos legacy de Semantic Insights, Data Flow Analysis o Impact Explorer, que redirigen aquí) cuando quieras un panel unificado con análisis completo de data flow.

  • File I/O Graph — Operaciones I/O agrupadas por archivo, con íconos de lectura/escritura y navegación a línea
  • Read/Write Analysis — Tabla de variables con reads/writes por opcode, scope, file I/O, dependencias entre variables, y advertencias de variables no leídas/no escritas
  • Impact Propagation — Severidad direct/indirect/transitive + field origins con cadena de origen hasta el archivo

Toggle legacy: Si prefieres las vistas de árbol antiguas, activa rpgleOutline.useLegacyTreeViews: true en la configuración.

Cross-file /COPY

/COPY and /INCLUDE directives are resolved recursively:

  • Searches includes/, include/, <library>/, and source directories
  • Supports extensions: .rpgle, .rpgleinc, .inc, .cpy
  • Merged symbols are marked with includedFrom showing origin
  • Cache with 10s TTL, invalidated on save

Code Completion

Triggered by . (dot) — provides:

  • Keywords: 40+ RPGLE keywords (dcl-s, if, dow, monitor, callp, etc.)
  • Snippets: 8 block templates (dcl-proc...end-proc, monitor...on-error...endmon, if...endif, etc.)
  • Variables: scope-aware (globals + locals + from /COPY)
  • Subfields: after DS_NAME.
  • Procedures: after callp / call

Impact Explorer

Use RPGLE: Open Impact Explorer when you want invocation flow from a selected root.

  • Works on the active file
  • Supports root selection
  • Shows outgoing impact and basic incoming callers
  • Supports partial-text filtering

Graph Explorer

Use RPGLE: Open Graph Explorer when you want a more conceptual local map.

  • Invocation flow
  • File interactions
  • LikeDS data-shape relations

Recommended Commands

Command What it does
RPGLE: Open Data Flow Visual Nuevo — Panel unificado con File I/O Graph, Read/Write Analysis e Impact Propagation
RPGLE: Open Semantic Insights Redirige a Data Flow Visual (o tree view legacy si useLegacyTreeViews: true)
RPGLE: Open Impact Explorer Redirige a Data Flow Visual (o tree view legacy)
RPGLE: Open Graph Explorer Conceptual local map with SVG visual graph
RPGLE: Show Call Graph Local invocation relationships
RPGLE: Show Dependency Graph File operations + LikeDS
RPGLE: Show Smart Preview Indented structural preview
RPGLE: Go To Parent IF Navigate to parent IF from ELSE/ELSEIF

Installation

Install the extension from the VS Code Marketplace when available, or from a provided .vsix package.

Short version:

  1. Open Extensions in VS Code.
  2. Choose Install from VSIX... if you received a package file.
  3. Open an .rpgle, .rpg, or .sqlrpgle member.

More detail: INSTALL.md

Configuration

{
  "rpgleOutline.enableDSpecVariables": true,
  "rpgleOutline.enableKListFields": true,
  "rpgleOutline.showReferencesInOutline": true,
  "rpgleOutline.maxReferencesPerSymbol": 20,
  "rpgleOutline.outlineSortMode": "alphabetical",
  "rpgleOutline.enableLiveBlockNavigator": true,
  "rpgleOutline.showLiveBlockStatus": true,
  "rpgleOutline.useLegacyTreeViews": false
}

Performance

Scenario Time Throughput
56 regression fixtures (767 lines) 3.97ms 193 L/ms
100 lines 0.66ms 240 L/ms
500 lines 1.00ms 501 L/ms
1,000 lines 1.44ms 693 L/ms
5,000 lines 3.80ms 1,315 L/ms

ANTLR cold start is skipped for fixed-format files via heuristic detection.

Notes

  • The extension is now stable (v0.11.0+).
  • Analysis is intentionally conservative to reduce false positives.
  • Most deeper analysis is local to the active file, not whole-workspace.
  • Diagnostics and code completion require a running VS Code extension host.

Links

  • CHANGELOG.md
  • INSTALL.md
  • SUPPORT.md
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft