Skip to content

Commit

Permalink
Ensure 'remove unnecessary using' shows up before 'convert to program…
Browse files Browse the repository at this point in the history
…-main style program' (#76543)
  • Loading branch information
CyrusNajmabadi authored Jan 2, 2025
2 parents 7d33556 + 24226a2 commit 225abf2
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ namespace Microsoft.CodeAnalysis.CSharp.RemoveUnnecessaryImports;

[ExportCodeFixProvider(LanguageNames.CSharp, Name = PredefinedCodeFixProviderNames.RemoveUnnecessaryImports), Shared]
[ExtensionOrder(After = PredefinedCodeFixProviderNames.AddMissingReference)]
[ExtensionOrder(Before = PredefinedCodeFixProviderNames.ConvertToProgramMain)]
[method: ImportingConstructor]
[method: SuppressMessage("RoslynDiagnosticsReliability", "RS0033:Importing constructor should be [Obsolete]", Justification = "Used in test code: https://github.com/dotnet/roslyn/issues/42814")]
internal sealed class CSharpRemoveUnnecessaryImportsCodeFixProvider() : AbstractRemoveUnnecessaryImportsCodeFixProvider
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@ public sealed override Task RegisterCodeFixesAsync(CodeFixContext context)
CodeAction.Create(
title,
cancellationToken => RemoveUnnecessaryImportsAsync(context.Document, cancellationToken),
title),
title,
// If the user is on a using/import that is marked as unnecessary, then we want to make sure that this
// code action is preferred over virtually any others that could be located at that position.
priority: CodeActionPriority.High),
context.Diagnostics);
return Task.CompletedTask;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ namespace Microsoft.CodeAnalysis.CSharp.ConvertProgram;
using static ConvertProgramTransform;

[ExportCodeFixProvider(LanguageNames.CSharp, Name = PredefinedCodeFixProviderNames.ConvertToProgramMain), Shared]
[ExtensionOrder(After = PredefinedCodeFixProviderNames.RemoveUnnecessaryImports)]
[method: ImportingConstructor]
[method: Obsolete(MefConstruction.ImportingConstructorMessage, error: true)]
internal sealed class ConvertToProgramMainCodeFixProvider() : SyntaxEditorBasedCodeFixProvider
Expand Down

0 comments on commit 225abf2

Please sign in to comment.