Skip to content
Jennifer (Jenny) Bryan edited this page Aug 20, 2024 · 15 revisions

Is Positron For Me?

Note

Positron is an early stage project under active development. We don't expect it to be the best fit for everyone doing data science right away.

Positron might be a good fit for you today if...

  • you use VS Code for data science (Python or R) but wish it included a dedicated console, variables pane, data explorer, and other affordances for your data-specific work.
  • you use Jupyterlab for data science (Python or R) and are ready for a more powerful, fully-featured IDE.
  • you use RStudio and want more ability to customize or extend your IDE.
  • you use additional languages in your day-to-day data science or package development work, like Rust, C++, JavaScript, or Lua.

Positron might not be a good fit for you today if...

  • you need stable, polished software. Positron is still in beta, and some features are unstable or unfinished.
  • you need all the features of the RStudio IDE. Positron doesn’t have all RStudio’s features; some notable absences are inline output for Quarto and R Markdown, profiling, Sweave, RStudio Add-In support, etc.
  • you use remote development features (e.g. dev containers, remote SSH); these are not supported in Positron yet. However, providing tools for Remote SSH is on our roadmap.

Machine Prerequisites

Before installing Positron, ensure your Python and/or R environments are ready to work with Positron. You don't need to install both, but Positron does not bundle either Python or R.

Windows Prerequisites

If you're using Windows, make sure you have the latest Visual C++ Redistributable installed.

Python Prerequisites

Positron works with actively supported versions of Python, from 3.8 to Python 3.12. We recommend pyenv and pyenv for Windows for managing Python versions.

Positron communicates with Python via the IPykernel package, so it needs to be installed for the Python environment you want to use with Positron. If you are managing your Python project using a tool like venv or conda, add ipykernel to your requirements.txt file. You can install IPykernel manually as follows:

python3 -m pip install ipykernel

Alternatively, Positron will prompt you to install the IPykernel package if it is not found when you first try to use a Python environment.

R Prerequisites

Positron requires R 4.2 or higher. To install R, follow the instructions for your operating system at https://cloud.r-project.org/.

Alternatively, if you'd like to have multiple R installations, rig is a great tool to manage this which works well with Positron.

If you're an R package developer, you will also want to make sure that you have the current versions of certain R packages, all of which had some recent updates to make them work more smoothly in Positron. Run one of the code snippets below to ensure that you are up-to-date:

# if you're a pak person (we are!)
pak::pak(c("usethis", "cli", "crayon", "rlang", "roxygen2", "pkgload"))

# or using base R
install.packages(c("usethis", "cli", "crayon", "rlang", "roxygen2", "pkgload"))

Installing Positron

Install Positron from our Releases page.

Currently, Positron is producing beta release builds from a continuous integration (CI) system for macOS, Windows, and Linux. Release builds are tagged with a version number on our Github repository. Select the release you want to download, then click on Assets and download the .dmg (for Mac), .exe (for Windows), or .deb (for Linux) file.

VS Code Extensions

Since Positron is a fork of 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 will not 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 does not 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 do not come from VS Code's Marketplace. Instead, they come from a third-party marketplace, OpenVSX. This is necessary for licensing reasons; Microsoft does not permit access to the Marketplace from non-official clients.

OpenVSX includes most popular VS Code extensions, but not all; some authors do not 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 do not 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 is not 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 is 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 does not 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.