Skip to content

Some code actions are de-prioritized in codeActionGroups #193355

@yue4u

Description

@yue4u

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.82.0 8b617bd x64
  • OS Version: Linux home 6.5.2-arch1-1

Steps to Reproduce:

  1. Expand code action menu at any code which has both refactor and refactor.inline codeActions
  2. Since the order of codeActionGroups in codeActionMenu.ts is hard coded, it de-prioritizes the refactor code action and put it to uncategorizedCodeActionGroup i.e. More Actions...
    const codeActionGroups = Object.freeze<ActionGroup[]>([
    { kind: CodeActionKind.QuickFix, title: localize('codeAction.widget.id.quickfix', 'Quick Fix') },
    { kind: CodeActionKind.RefactorExtract, title: localize('codeAction.widget.id.extract', 'Extract'), icon: Codicon.wrench },
    { kind: CodeActionKind.RefactorInline, title: localize('codeAction.widget.id.inline', 'Inline'), icon: Codicon.wrench },
    { kind: CodeActionKind.RefactorRewrite, title: localize('codeAction.widget.id.convert', 'Rewrite'), icon: Codicon.wrench },
    { kind: CodeActionKind.RefactorMove, title: localize('codeAction.widget.id.move', 'Move'), icon: Codicon.wrench },
    { kind: CodeActionKind.SurroundWith, title: localize('codeAction.widget.id.surround', 'Surround With'), icon: Codicon.symbolSnippet },
    { kind: CodeActionKind.Source, title: localize('codeAction.widget.id.source', 'Source Action'), icon: Codicon.symbolFile },
    uncategorizedCodeActionGroup,
    ]);

Related:

rust-lang/rust-analyzer#15364

Although rust-lang/rust-analyzer#14362 has tried to fix the order but it does not work with grouping without changes on vscode's side.

image

Possible Fix:

Cover all CodeActionKind in order in codeActionGroups

https://code.visualstudio.com/api/references/vscode-api#CodeActionKind

image

Metadata

Metadata

Assignees

Labels

mitigatedIssue has workaround in place

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions