Skip to content
Julia Silge edited this page Jun 13, 2024 · 16 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) and have been frustrated or unsatisfied with using such a general purpose text editor for 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 but have been frustrated by its constraints and want more ability customize your IDE.
  • you use additional languages in your day-to-day data science or package development work, like Rust, C++, or JavaScript.

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.

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. You can install IPykernel 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 install the development versions of certain R packages, which have changes intended to make them work more smoothly in Positron. The following code snippet will install the relevant dev packages:

pak::pak("r-lib/usethis")
pak::pak("r-lib/cli")
pak::pak("r-lib/crayon")
pak::pak("r-lib/rlang")
pak::pak("r-lib/roxygen2")
pak::pak("r-lib/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 Visual Studio Code, 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 Jupyter notebooks and Pyright. Positron does not currently bundle the Quarto or Shiny extensions, so you will need to install those if you want to use them.

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.

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 code 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.

Clone this wiki locally