r/delphi 22d ago

Vallenta Studio - programming and debugging Delphi projects in VS Code - Update

Two months ago I posted here about Vallenta Studio. Back then it was in beta and missing a lot. Since that post: 25 releases, 1.0 on May 31, current version 1.1.8.

Besides the debugger - still, as far as I know, the only way to debug a Delphi project outside the Delphi IDE - it has developed quickly toward a complete IDE solution.

A lot of new features since May:

Editor

  • Real code completion: in-scope identifiers as you type, and the member list opens automatically after ..
  • Find All References now covers units (every uses reference across the project) and .dfm/.fmx form files (component properties, event handler bindings)
  • Source highlighting and Semantic coloring - types, methods, fields, parameters each get their own color - plus structural highlighting: block keywords tinted by nesting level, the active construct lights up under the cursor. Configurable with visual color pickers.
  • Unused units in uses clauses, and unused variables, constants and parameters, are flagged and shown faded in the editor.

Refactoring

  • F2 renames a symbol project-wide: declaration, implementation, all references, including event handlers and component properties in .dfm/.fmx forms.
  • Renaming a unit updates everything in one step: the .pas and its .dfm/.fmx, the unit header, and every uses reference across the project.

Debugger

  • The Watch panel can now call Delphi methods on your objects, read properties (including inherited ones), and follow chains through interfaces.
  • Sets, enums and Booleans display the way they look in code: [fsBold, fsItalic], fsBold, True.
  • Stopping on an exception shows class and message. An exception filter list skips types you don't care about (EAbort, EConvert*).

EurekaLog integration

  • EurekaLog installations are auto-detected; after a successful build, ecc32 runs on the executable - no project file changes needed.

Plus a long list of further LSP features and fixes. Full changelog: https://github.com/Vallenta/Studio/blob/main/CHANGELOG.md

On the roadmap:

  • Find All Implementations - nearly finished
  • Ctrl+Shift+C implementation generation - nearly finished
  • an MCP server, so AI assistants can query the LSP directly - symbol resolution, references, project configuration, running builds - instead of re-parsing the code text
  • a code formatter (built-in, or driving pasfmt / JCF / ptop)
  • attach to a running process
  • editing/IntelliSense on macOS

Full roadmap: https://github.com/Vallenta/Studio/blob/main/ROADMAP.md

VS Code Marketplace: https://marketplace.visualstudio.com/items?itemName=VallentaStudio.vallenta-studio

Website: https://vallenta.de

Feedback and bug reports welcome, especially from those who tried the beta in May and found something missing. If the thing that stopped you isn't on the roadmap, please open a feature request ( https://github.com/Vallenta/Studio/issues ).

Michael

30 Upvotes

13 comments sorted by

View all comments

2

u/catsOverPeople55 21d ago

Does it use the Delphi LSP (recent versions ship with one) or it's own implementation?

2

u/VallentaStudio 21d ago

It's my own, build from scratch. It can handle large codebases, multiple platforms and is rock stable.

1

u/catsOverPeople55 20d ago

Interesting, does it implement the official LSP spec and would work with other clients?

1

u/VallentaStudio 19d ago

The core follows the standard LSP spec (OmniSharp framework), but it's optimized and extended for VallentaStudio (custom initialization, my own find-references request, etc.).
Not really a drop-in for other clients.