Wednesday, May 27, 2020

Top three Delphi 10.4 features

Delphi 10.4 has just been released (turn here for a great overview) and has some nice enhancements even for us, die-hard Windows developers. It is too early to give any deep analysis as I have just installed it and did not do any thorough testing, but I can already pick my top three new features. In no particular order, here they are:

Language Server Protocol

Language Server Protocol (LSP) is a specification that defines communication between an editor and external tooling. It allows the language-dependant logic to be moved out of the editor into a specialized server.

Delphi now includes a LSP server which knows about the Delphi language and various parts of the IDE are now talking to it instead of using their own half-correct syntax parser. In short, this allows Code Insight to provide much better suggestions. Even more - Error Insight (a.k.a. "stupid red squigglies") will now work much better!

Managed Records

Records with initialization, finalization, and assignment (copy) operator. Yay!

If you don't know why this is useful, don't worry and ignore the new functionality. Records still have all the same features they did before. They just got an upgrade.

Patches delivered via GetIt

GetIt package manager has been enhanced greatly and can, beside other improvements, now deliver patches for the IDE. Even more - the first such pach has already been delivered!

Just yesterday when I started 10.4 I noticed a heading on the Welcome screen:


 I clicked it and GetIt popped up with some information about the patch.

Not to Embarcadero: It would be really great if we could access the readme at this point, not only after the installation!


I clicked install and shortly after the patch was installed. Fantastic!


If the patches will be frequent and timely, this may even become my top new feature of Delphi 10.4!

3 comments:

  1. Anonymous16:52

    "Fantastic" is for Delphi only.
    For others IDEs it just "Update...".

    ReplyDelete
  2. Interesting thing to try is TEdgeBrowser control

    ReplyDelete
  3. The 64 bit linker for Delphi is extremely slow.

    ReplyDelete