Extension Development

Positron is compatible with VS Code extensions so you can create extensions as you would for VS Code. You can use Positron to develop your extension and run it in a new Extension Development Host window.

Context keys

When defining your extension’s manifest, you can use the isPositron context key for enablement or in a when clause.

"commands": [
    {
        "category": "My Extension",
        "command": "myExtension.myCommand",
        "title": "My Extension Command",
        "enablement": "isPositron"
    }
]

This allows your extension to enable commands, keybindings, menu items, and any other contribution points only for Positron.

Extension APIs

Positron provides all the normal contribution points and the VS Code API to extensions. Unlike VS Code, however, so-called proposed APIs are available to all extension authors by default, and don’t require special configuration on the part of users to enable.

Positron-native extensions can also make use of its own API. We plan to make the extension development experience better (for example, safely wrapping and providing typing for the Positron API), but in the meantime, we recommend you take a look at the Positron API details directly.