Extensions

Since Positron is built on Code OSS, you can use VS Code extensions in Positron. Your extensions installed for Positron are separate from the extensions you have installed for VS Code, and they won’t interfere with each other. Positron bundles several extensions, including those for Quarto, Jupyter notebooks, and Pyright. To see bundled extensions, search for @builtin under the Extensions tab. To further filter the list, you can add a search term, such as @builtin Positron

Note

Positron doesn’t currently bundle the Shiny extension, so you will need to install that if you want to use it.

Installing extensions

Positron has an Extensions view, just like VS Code. The primary difference is that when you browse extensions in Positron, the extensions don’t come from VS Code’s Marketplace. Instead, they come from a third-party marketplace, OpenVSX. This is necessary for licensing reasons; Microsoft doesn’t permit access to the Marketplace from non-official clients.

OpenVSX includes most popular VS Code extensions, but not all; some authors don’t bother to publish their extensions to OpenVSX (it’s an extra step) and others don’t keep the OpenVSX version of the extension up to date. Open VSX has a suggested template to request that the authors of an extension cross-publish their extension on the Open VSX Registry.

Posit is a major sponsor of OpenVSX.

In offline or other environments, users may need to manually install extensions rather than relying on the search and install capabilities from the Positron extensions tab. Users can install extensions saved as .vsix files. See the Extensions: Install from VSIX command via the Command Palette Cmd/Ctrl+Shift+P or via the ... in the top right of the Extensions tab.

Compatibility

Almost all extensions for Visual Studio Code work great with Positron, and in fact Positron is built with this kind of extensibility in mind. There are two known exceptions:

  • R extension: The R language support in Positron is a direct replacement for the features in this extension, and we don’t plan for them to work well together. If there are features in this extension you miss, please let us know. If you use this extension and have code in your .Rprofile for better behavior in the terminal, you will need to update it so that section of your .Rprofile isn’t run in Positron:
if (interactive() && Sys.getenv("RSTUDIO") == "" && Sys.getenv("POSITRON") == "") {
    ## code you use for better terminal behavior for R in VS Code
}
  • Python extension: Positron bundles a fork of this extension that’s built to work with Positron and offers support for the console, help, and other features. If there is anything from the original Python extension that doesn’t work for you, please let us know.

There may be extensions that aren’t available for Positron for licensing rather than technical reasons. These extensions would typically contain proprietary Microsoft code and are only licensed for use with Microsoft’s proprietary VS Code product.