And it always, always, ALWAYS puts any word it knows/guesses that starts with the characters i type at the front before making any other suggestion.
And all that in interactive practically instant speeds. How the hell Visual Studio takes ages (ie. often several seconds) to complete a word i already typed a few moments ago on a 4.2GHz 7700K machine with 32GB of RAM whereas Lazarus happily completes words even on a puny Raspberry Pi, i don't know.
Anyone who writes IDEs should work for at least 6 months with Lazarus to understand how to do things right and if their IDE still provides a worse editing experience (i'm not expecting the entire WYSIWYG GUI and object design as this isn't really something everyone cares about, although it'd be nice) after that then they are doing something very wrong. I have issues with Lazarus with the overall UX being very messy, but the editing experience is the best i've seen.
Could you give an example of a situation where it's completely missing the point?
VS Code's default completion is strictly buffer based, so no sure what you mean there either.
The screenshot I posted a while back showed me exporting something at the of the file and I had typed `Det` at which point it suggested some random functions from random APIs. Then I had `Detail` at which point no suggestions were offered. At `Detaile` it finally gave me `DetailedProgress` from the same file about 50 lines higher up.
This is a frequently recurring theme that it takes so long to actually suggest mere names (~ strings).
I've written a language server extension for VS Code (not for C#), and the completion lists I provide are better than those I get in C#/F# while writing the server, it's bad :/
TabNine is actually the only thing that I could see myself switching to.