flutter / flutter-intellij

Flutter Plugin for IntelliJ
https://flutter.dev/using-ide
BSD 3-Clause "New" or "Revised" License
1.98k stars 319 forks source link

Named Parameters: a Smarter & Useful Code Completion #3588

Open Ale-Digitale opened 5 years ago

Ale-Digitale commented 5 years ago

If you try to invoke code completion on Widgets' Constructors Named Parameters, you get a suggestion list that you can filter by:

Let's make some examples. I expect to have INTELLIJ suggesting me:

for Padding::

for Decoration: (inside a Container)

for Decoration: (inside a Textfield)

for Margin:

Instead, now, regardless of the named parameter you're trying to complete, we got:

Build (BuildContext context) new this false null

What are these actually useful for ? You aren't going to complete your code with them. They're like "noise" for you... while you're trying to remember what you must put there in your code.

So, right now, code-completion for many named parameters, is almost completely useless, or at least, it's very very inefficient.

I think a named-parameters-aware-auto-completion would lead to:

So, i wonder, isn't there a way to prioritize the useful auto-completion results and list them by REAL EFFECTIVE USEFULNESS ? In such a way that the auto completion suggests you the things that are compatible / pertinent to the code where you invoked it.

Please someone let me know. Thank you !

( @scheglov sorry for the disturb, I mention you because I just did a search and i found this: https://github.com/flutter/flutter-intellij/issues/998 ... but as I can see things are still unchanged since last year. Is anyone taking this topic forward ? )

stevemessick commented 5 years ago

Thanks, those are really interesting suggestions. My first reaction is that we'd need to add some Flutter-library intelligence to the completion engine. That's perfectly reasonable, and we'll keep it in mind. However, a more general solution may be available before we have time to do that.

/cc @lambdabaa for future updates.

karelric commented 4 years ago

I have the same problem since I updated android studio from 3.4 to 3.5.3. In 3.4 version this feature was working fine. This is called Smart Type completion. So, what happen with android studio smart type completion for flutter?

pq commented 4 years ago

/cc @jwren @bwilkerson