提交 060770b4 编写于 作者: M Matt Bierner

Show which specific type of requested code actions / refactorings are not available

Fixes #84096
上级 0ef88efa
...@@ -271,12 +271,19 @@ export class CodeActionCommand extends EditorCommand { ...@@ -271,12 +271,19 @@ export class CodeActionCommand extends EditorCommand {
}); });
} }
public runEditorCommand(_accessor: ServicesAccessor, editor: ICodeEditor, userArg: any) { public runEditorCommand(_accessor: ServicesAccessor, editor: ICodeEditor, userArgs: any) {
const args = CodeActionCommandArgs.fromUser(userArg, { const args = CodeActionCommandArgs.fromUser(userArgs, {
kind: CodeActionKind.Empty, kind: CodeActionKind.Empty,
apply: CodeActionAutoApply.IfSingle, apply: CodeActionAutoApply.IfSingle,
}); });
return triggerCodeActionsForEditorSelection(editor, nls.localize('editor.action.quickFix.noneMessage', "No code actions available"), return triggerCodeActionsForEditorSelection(editor,
typeof userArgs?.kind === 'string'
? args.preferred
? nls.localize('editor.action.codeAction.noneMessage.preferred.kind', "No preferred code actions for '{0}' available", userArgs.kind)
: nls.localize('editor.action.codeAction.noneMessage.kind', "No code actions for '{0}' available", userArgs.kind)
: args.preferred
? nls.localize('editor.action.codeAction.noneMessage.preferred', "No preferred code actions available")
: nls.localize('editor.action.codeAction.noneMessage', "No code actions available"),
{ {
kind: args.kind, kind: args.kind,
includeSourceActions: true, includeSourceActions: true,
...@@ -322,13 +329,19 @@ export class RefactorAction extends EditorAction { ...@@ -322,13 +329,19 @@ export class RefactorAction extends EditorAction {
}); });
} }
public run(_accessor: ServicesAccessor, editor: ICodeEditor, userArg: any): void { public run(_accessor: ServicesAccessor, editor: ICodeEditor, userArgs: any): void {
const args = CodeActionCommandArgs.fromUser(userArg, { const args = CodeActionCommandArgs.fromUser(userArgs, {
kind: CodeActionKind.Refactor, kind: CodeActionKind.Refactor,
apply: CodeActionAutoApply.Never apply: CodeActionAutoApply.Never
}); });
return triggerCodeActionsForEditorSelection(editor, return triggerCodeActionsForEditorSelection(editor,
nls.localize('editor.action.refactor.noneMessage', "No refactorings available"), typeof userArgs?.kind === 'string'
? args.preferred
? nls.localize('editor.action.refactor.noneMessage.preferred.kind', "No preferred refactorings for '{0}' available", userArgs.kind)
: nls.localize('editor.action.refactor.noneMessage.kind', "No refactorings for '{0}' available", userArgs.kind)
: args.preferred
? nls.localize('editor.action.refactor.noneMessage.preferred', "No preferred refactorings available")
: nls.localize('editor.action.refactor.noneMessage', "No refactorings available"),
{ {
kind: CodeActionKind.Refactor.contains(args.kind) ? args.kind : CodeActionKind.None, kind: CodeActionKind.Refactor.contains(args.kind) ? args.kind : CodeActionKind.None,
onlyIncludePreferredActions: args.preferred, onlyIncludePreferredActions: args.preferred,
...@@ -365,13 +378,19 @@ export class SourceAction extends EditorAction { ...@@ -365,13 +378,19 @@ export class SourceAction extends EditorAction {
}); });
} }
public run(_accessor: ServicesAccessor, editor: ICodeEditor, userArg: any): void { public run(_accessor: ServicesAccessor, editor: ICodeEditor, userArgs: any): void {
const args = CodeActionCommandArgs.fromUser(userArg, { const args = CodeActionCommandArgs.fromUser(userArgs, {
kind: CodeActionKind.Source, kind: CodeActionKind.Source,
apply: CodeActionAutoApply.Never apply: CodeActionAutoApply.Never
}); });
return triggerCodeActionsForEditorSelection(editor, return triggerCodeActionsForEditorSelection(editor,
nls.localize('editor.action.source.noneMessage', "No source actions available"), typeof userArgs?.kind === 'string'
? args.preferred
? nls.localize('editor.action.source.noneMessage.preferred.kind', "No preferred source actions for '{0}' available", userArgs.kind)
: nls.localize('editor.action.source.noneMessage.kind', "No source actions for '{0}' available", userArgs.kind)
: args.preferred
? nls.localize('editor.action.source.noneMessage.preferred', "No preferred source actions available")
: nls.localize('editor.action.source.noneMessage', "No source actions available"),
{ {
kind: CodeActionKind.Source.contains(args.kind) ? args.kind : CodeActionKind.None, kind: CodeActionKind.Source.contains(args.kind) ? args.kind : CodeActionKind.None,
includeSourceActions: true, includeSourceActions: true,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册