Extensibility Reference

This section of our documentation goes into detail on the various features of VS Code extensibility. It's worth reviewing the introduction on the extensions as well as going through the 'Hello World' example before digging in too deeply here.

The easiest way to see VS Code extensions in action is via the Extension Marketplace. Once you have built your first extension or are ready to share a customization, it can be published for others to install.

The Extensibility Reference Documents

This section of our documentation covers the following topics...

Topic Description
package.json Extension Manifest Every Visual Studio Code extension needs a manifest file package.json at the root of the extension folder. This document provides an overview of the structure of that file and the mandatory fields.
Contribution Points Building on the base package.json, there are a number of additional extension points you can contribute to e.g. commands, themes, debuggers,...
Activation Events VS Code lazily activates extensions. This document outlines the activation options supported in package.json e.g. when a specific file type is loaded, when a command is fired, etc
API vscode namespace Review the full vscode namespace API reference.
API complex commands See the VS Code complex command API reference.
Debugging API Learn the details about integrating debuggers into VS Code.
API samples Sample code illustrating the VS Code extension API.

Language Extension Guidelines

If you are implementing programming language support, we have a Language Extension Guidelines topic which shows the various language features available in VS Code (for example, code suggestions and actions, formatting, renaming) and provides guidance on how to implement them.