Describe the bug
Autocomplete seems to be working for some items, not for others.
So far I have tested these:
| Working | Not working |
|:----------------:|:-------------:|
| Custom functions | print |
| .forEach | widgets |
So this is working as expected for something like a function I wrote myself, or myList.forEach(). Not sure why others aren't working.
To Reproduce
Steps to reproduce the behavior:
prinTab to accept 'Print' autocompleteExpected behavior
The item, eg print() or Text() should be completed with parentheses and arguments if appropriate.
Screenshots


Versions (please complete the following information):
Thanks - tracked this down. We're not currently supported this for things that come via SuggestionSets. I'd actually accidentally fixed this while implementing something else, but that change is not ready to land yet, so I've extracted the fix t o its own change.
Awesome!
Thank you for all your hard work Danny, very much appreciated 馃巻
I guess it is a related issue that parenthesis are not added for example to ChangeNotifier.notifyListeners()? This stopped working today after I upgraded Dart Code to the latest version (and enabled LSP).
So this will be fixed too by dart-lang/sdk@2f2f9fc? I guess it will take months before that will be available in Flutter stable, so are there any workarounds? I think this is quite an annoying issue, I already wrote some bugs due to this, see https://github.com/dart-lang/linter/issues/2364.
I guess it is a related issue that parenthesis are not added for example to
ChangeNotifier.notifyListeners()?
If you're on the Flutter stable channel, it seems likely. Support for dart.completeFunctionCalls is not yet available in Flutter's stable channel.
So this will be fixed too by dart-lang/sdk@2f2f9fc?
I just tested it on a recent Flutter master and I'm getting parens accepting notifyListeners with dart.completeFunctionCalls enabled, so I believe it's either fix by that change (or the previous one that first added the functionality).
are there any workarounds?
You could either switch back from LSP, or use a different Flutter channel. Unfortunately I don't believe there are any other workarounds. The LSP functionality is not complete in current Flutter stable (this is the reason it's still behind the preview flag). LSP won't be made default until after these fixes all make the Flutter stable channel, though I'd encourage using LSP if there's nothing breaking to you to help identify any remaining issues/gaps. If this is sufficiently annoying, I would recommend switching back.