CodeAction
A code action represents a change that can be performed in code, e.g. to fix a problem or to refactor code.
A CodeAction must set either edit and/or a command. If both are supplied, the edit is applied first, then the command is executed.
Properties
Section titled “Properties”command?
Section titled “command?”
optionalcommand?:Command
A command this code action executes. If a code action provides an edit and a command, first the edit is executed and then the command.
optionaldata?:any
A data entry field that is preserved on a code action between
a textDocument/codeAction and a codeAction/resolve request.
3.16.0
diagnostics?
Section titled “diagnostics?”
optionaldiagnostics?:Diagnostic[]
The diagnostics that this code action resolves.
disabled?
Section titled “disabled?”
optionaldisabled?:CodeActionDisabled
Marks that the code action cannot currently be applied.
Clients should follow the following guidelines regarding disabled code actions:
-
Disabled code actions are not shown in automatic lightbulbs code action menus.
-
Disabled actions are shown as faded out in the code action menu when the user requests a more specific type of code action, such as refactorings.
-
If the user has a keybinding that auto applies a code action and only disabled code actions are returned, the client should show the user an error message with
reasonin the editor.
3.16.0
optionaledit?:WorkspaceEdit
The workspace edit this code action performs.
isPreferred?
Section titled “isPreferred?”
optionalisPreferred?:boolean
Marks this as a preferred action. Preferred actions are used by the auto fix command and can be targeted
by keybindings.
A quick fix should be marked preferred if it properly addresses the underlying error. A refactoring should be marked preferred if it is the most reasonable choice of actions to take.
3.15.0
optionalkind?:string
The kind of the code action.
Used to filter code actions.
optionaltags?:1[]
Tags for this code action.
3.18.0
title:
string
A short, human-readable, title for this code action.