
Delphi 10.4: Code completion matches anywhere…
First, I would like to thank Embarcadero for being given permission to blog about the latest Delphi version.
This will not be a very long post as the new code completion technology has been pointed out multiple times. However, I would like to emphasize one of the most useful advantages of the new technology for me: Matches for code completion are made anywhere in events, methods and properties. Let me give you a brief example.
I often want to get additional information about files. For a few years, the Delphi RTL wraps this functionality in TFile. TFile can be used for most file operations and getting meta-data. However, it might be my age, I can never remember the right name and the variations to get time information on a file. With previous Delphi versions I could only use code completion matches when I got the correct prefix of the function or procedure. Something like Get or Set and then it would hopefully show up.
Today, with Delphi 10.4., I simply type ‘time’:

Code completion will list all the methods that deal with time. Be it a set-method or a get-method. This way, I immediately now what my choices are!
It is a tiny difference in behavior, but huge impact when it comes to typing code efficiently. Little enhancements and thoughtful improvements like that should get you just as excited about Delphi 10.4 !

What about Error Insight? Do we dare to dream of code that isn’t littered with random red squiggles?
A COLORIFICATION would be nice, for example:
https://i.imgur.com/Mp45ftL.png
The open tools API is still available. I cannot give any details what options are now available, but I would think that the new features might be used by plugins as well.
..and even works after usage of inline vars?
It is a completely new implementation as far as I know. My thought is that the whole reason to redevelop this feature was to support all new language features.
..but yet (latest 10.4 beta) still fails to support any of the new language features in terms of refactoring, go-to-definition, et.