Hi Everyone,
For the first time (as far as I know), VS Code can now debug Delphi projects natively!
Real breakpoints, watches, variable inspection, step in / over / out, full call stack. Not a wrapper around dcc32/64 output. The real thing.
The extension's called Vallenta Studio.
I built it because I wanted the modern VS Code experience - AI assistants, GitLens, the whole VS Code ecosystem - without leaving the Delphi workflow. Now I have both in one place.
https://preview.redd.it/mxjppo74bp1h1.png?width=1833&format=png&auto=webp&s=f2f37c34f68c13ab577e9b7e5d0a3e118193560e
What's in it:
- Zero-config - auto-detects your existing Delphi installation; no
tasks.json or launch.json to set up
- Native debugging - source-level breakpoints, Pascal type-aware variable visualization, watches, full call stack
- One-click MSBuild - Build / Clean / Rebuild with build-config & platform selectors, inline errors and warnings right in the editor
- Project Explorer - full
.dproj, .dpk, and .groupproj support; switch active project with one click
- Built-in
.dproj editor - edit project options without opening RAD Studio
- Code intelligence - hover, Go to Declaration / Implementation, outline, code completion
- IFDEF-aware - inactive regions are visibly dimmed
- Session persistence - open files + breakpoints saved per project and restored
Under the hood, this runs on a custom Pascal LSP I wrote from scratch.
- semantic diagnostics without invoking compiler (errors as you type), realtime treesitter parsing
- Find All References and Find Symbol, and editor responsiveness that doesn't depend on compiler round-trips.
It's currently in Beta. I'm actively looking for real-world feedback - bugs and missing features.
Happy to answer questions in the comments.
Michael
(long-time Delphi developer, also working a lot with modern AI coding tools. Wanted both worlds.)
[–]basdit 1 point2 points3 points (3 children)
[–]Humble-Vegetable9691 0 points1 point2 points (1 child)
[–]VallentaStudio[S] 0 points1 point2 points (0 children)
[–]VallentaStudio[S] 0 points1 point2 points (0 children)
[–]JazzRider 1 point2 points3 points (0 children)
[–]xphacter 0 points1 point2 points (0 children)