C# Completion Popup in Argument Lists#42035
Conversation
8435b0a to
d1e5bd5
Compare
4c02708 to
2e2bb82
Compare
|
@CyrusNajmabadi This is still in progress, primarily in tests, but can you take a look based on our design discussion the other day? This should mostly reflect what we discussed ( |
|
|
||
| private static bool IsArgumentListTriggerCharacter(char character) | ||
| { | ||
| return character == ' ' || character == '(' || character == '['; |
There was a problem hiding this comment.
There's no shared CompletionUtilities, so I wasn't sure where to put it.
|
Overall this looks good. A few concerns:
|
| Await state.AssertSelectedSignatureHelpItem("void C.M()") | ||
| Assert.Equal(4, state.GetSignatureHelpItems().Count) | ||
|
|
||
| If showCompletionInArgumentLists Then |
There was a problem hiding this comment.
@CyrusNajmabadi A couple tests changed in this way. Basically, now that sighelp and completion show up at the same time, completion steals keyboard focus and these tests weren't expecting that.
There was a problem hiding this comment.
oh... yeah. that's why i hate this feature :D
We just want to update the scenarios in which symbols are shown to include these new cases. Why would other providers need to be updated? They'll come along as triggered or augmenting providers as always.
I've filed this as #42369 |
|
Realizing I didn't tag @dotnet/roslyn-ide for additional review. So, tag. |
|
The main contentious behavior change here is when SigHelp and Completion show up at the same time. Previously, a user could type |
I'm not getting the value here. Why do these need to pop up on sig-help chars? Why not just have completion show up naturally (either direct invocation, or typing an id character)? Wouldn't that be enough to show the important items? |
|
@CyrusNajmabadi Are there any remaining things we'd like to get done before an initial merge here? Can Explicit-SigHelp-Cancels-Completion come in a follow-up? /cc: @jinujoseph |
Nope. No more work here :) Great work here btw! Impl is clean and fits nicely into an area that is extremely subtle. I'm def a little worried here, but that's mostly in IntelliCode's court now.
Yes. That can come in a followup. Let's def concentrate on high value stuff right now. Just track the above in an issue. Thanks! |
|
Follow-up issue tracked by #42484 |
|
Design meeting notes:
|
Today in VB, typing in argument lists automatically triggers completion (when you type a
(or<space>). This change adds this behavior for C# (under an option and an experiment).