Interesting discussion from an IntelliJ dev on what an IDE needs in a parser:
https://www.reddit.com/r/rust/comments/6fs5q9/language_servers_and_ides/dinhtiz (eg the parse tree must have comments)
miniblog.
Related Posts
I'm writing a Path type in my programming language but not sure what methods belong on a Path.
Should I have some_path.read_string() or fs::read_string(some_path) instead?
I love .method() for IDE completion, but I don't want Path to be cluttered. I'm also trying to avoid UFCS.
Really elegant developer tool: Go's inline IDE feature is used with deprecation markers, so call sites are autofixed from OldApi() to NewApi() based on the implementation of OldApi.
Should code completion offer private methods/fields?
If the user chooses a private method, you can offer a quickfix to change its visibility. It's clutter though.
I frequently find myself wanting fields that I haven't exposed yet, and frustrated that the IDE hides them.