Skip to content

Commit 8d5b2d9

Browse files
Merge pull request #57212 from CyrusNajmabadi/addUsingIncompleteMember
Ensure that async add-using works with incomplete members
2 parents a7f48d9 + bba39e3 commit 8d5b2d9

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

src/Features/Core/Portable/Diagnostics/Analyzers/UnboundIdentifiersDiagnosticAnalyzerBase.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ internal abstract class UnboundIdentifiersDiagnosticAnalyzerBase<TLanguageKindEn
3333
protected abstract ImmutableArray<TLanguageKindEnum> SyntaxKindsOfInterest { get; }
3434
protected abstract bool IsNameOf(SyntaxNode node);
3535

36-
public CodeActionRequestPriority RequestPriority => CodeActionRequestPriority.Normal;
36+
// High priority as we need to know about unbound identifiers so that we can run add-using to fix them.
37+
public CodeActionRequestPriority RequestPriority
38+
=> CodeActionRequestPriority.High;
3739

3840
public override ImmutableArray<DiagnosticDescriptor> SupportedDiagnostics
3941
=> ImmutableArray.Create(DiagnosticDescriptor);

src/VisualStudio/IntegrationTest/IntegrationTests/CSharp/CSharpCodeActions.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,21 @@ internal void Bar()
6969
");
7070
}
7171

72+
[WpfFact, Trait(Traits.Feature, Traits.Features.CodeActionsAddImport)]
73+
public void AddUsingOnIncompleteMember()
74+
{
75+
// Need to ensure that incomplete member diagnostics run at high pri so that add-using can be
76+
// triggered by them.
77+
SetUpEditor(@"
78+
class Program
79+
{
80+
DateTime$$
81+
}
82+
");
83+
VisualStudio.Editor.InvokeCodeActionList();
84+
VisualStudio.Editor.Verify.CodeAction("using System;");
85+
}
86+
7287
[WpfFact, Trait(Traits.Feature, Traits.Features.CodeActionsAddImport)]
7388
public void FastDoubleInvoke()
7489
{

0 commit comments

Comments
 (0)