Kind of a code action.

Kinds are a hierarchical list of identifiers separated by ., e.g. "refactor.extract.function".

Code action kinds are used by VS Code for UI elements such as the refactoring context menu. Users can also trigger code actions with a specific kind with the editor.action.codeAction command.

Constructors

Properties

value: string

String value of the kind, e.g. "refactor.extract.function".

Empty kind.

Notebook: CodeActionKind

Base kind for all code actions applying to the entire notebook's scope. CodeActionKinds using this should always begin with notebook.

This requires that new CodeActions be created for it and contributed via extensions. Pre-existing kinds can not just have the new notebook. prefix added to them, as the functionality is unique to the full-notebook scope.

Notebook CodeActionKinds can be initialized as either of the following (both resulting in notebook.source.xyz):

  • const newKind = CodeActionKind.Notebook.append(CodeActionKind.Source.append('xyz').value)
  • const newKind = CodeActionKind.Notebook.append('source.xyz')

Example Kinds/Actions:

  • notebook.source.organizeImports (might move all imports to a new top cell)
  • notebook.source.normalizeVariableNames (might rename all variables to a standardized casing format)
QuickFix: CodeActionKind

Base kind for quickfix actions: quickfix.

Quick fix actions address a problem in the code and are shown in the normal code action context menu.

Refactor: CodeActionKind

Base kind for refactoring actions: refactor

Refactoring actions are shown in the refactoring context menu.

RefactorExtract: CodeActionKind

Base kind for refactoring extraction actions: refactor.extract

Example extract actions:

  • Extract method
  • Extract function
  • Extract variable
  • Extract interface from class
  • ...
RefactorInline: CodeActionKind

Base kind for refactoring inline actions: refactor.inline

Example inline actions:

  • Inline function
  • Inline variable
  • Inline constant
  • ...
RefactorMove: CodeActionKind

Base kind for refactoring inline actions: refactor.move

Example move actions:

  • Move a function to a new file
  • Move a property between classes
  • Move method to base class
RefactorRewrite: CodeActionKind

Base kind for refactoring rewrite actions: refactor.rewrite

Example rewrite actions:

  • Convert JavaScript function to class
  • Add or remove parameter
  • Encapsulate field
  • Make method static
  • Move method to base class
  • ...

Base kind for source actions: source

Source code actions apply to the entire file and can be run on save using editor.codeActionsOnSave. They also are shown in source context menu.

SourceFixAll: CodeActionKind

Base kind for auto-fix source actions: source.fixAll.

Fix all actions automatically fix errors that have a clear fix that do not require user input. They should not suppress errors or perform unsafe fixes such as generating new types or classes.

SourceOrganizeImports: CodeActionKind

Base kind for an organize imports source action: source.organizeImports.

Methods

  • Does this kind contain other?

    The kind "refactor" for example contains "refactor.extract" and ``"refactor.extract.function", but not "unicorn.refactor.extract"or"refactory.extract"`

    Parameters

    Returns boolean

  • Check if this code action kind intersects other. The kind "refactor.extract" for example intersects refactor, "refactor.extract" and `"refactor.extract.function", but not "unicorn.refactor.extract", or "refactor.extractAll".

    Parameters

    Returns boolean