未验证 提交 51e8b026 编写于 作者: I Ivan Basov 提交者: GitHub

completion: do not insert extra colon if colon has been typed (#32134)

上级 d164a6b2
......@@ -4180,6 +4180,29 @@ class C
End Using
End Function
<WorkItem(30097, "https://github.com/dotnet/roslyn/issues/30097")>
<MemberData(NameOf(AllCompletionImplementations))>
<WpfTheory, Trait(Traits.Feature, Traits.Features.Completion)>
Public Async Function TestNamedParameterDoesNotAddExtraColon(completionImplementation As CompletionImplementation) As Task
Using state = TestStateFactory.CreateCSharpTestState(completionImplementation,
<Document>
class C
{
public double M(double some) => m;
public void Test()
{
$$
}
}
</Document>)
state.SendTypeChars("M(some:M(some:")
Await state.AssertNoCompletionSession()
Assert.Equal(" M(some:M(some:", state.GetLineTextFromCaretPosition())
End Using
End Function
Private Class MultipleChangeCompletionProvider
Inherits CompletionProvider
......
......@@ -258,7 +258,8 @@ int IEqualityComparer<IParameterSymbol>.GetHashCode(IParameterSymbol obj)
selectedItem.Span,
// Do not insert colon on <Tab> so that user can complete out a variable name that does not currently exist.
// ch == null is to support the old completion only.
(ch == null || ch == '\t') ? selectedItem.DisplayText : selectedItem.GetEntireDisplayText()));
// Do not insert an extra colon if colon has been explicitly typed.
(ch == null || ch == '\t' || ch == ':') ? selectedItem.DisplayText : selectedItem.GetEntireDisplayText()));
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册