Skip to content
Kun Ren edited this page Mar 11, 2020 · 16 revisions

For many R users, RStudio has long been a great integrated development environment for data analysis and visualization. It provides a rich set of features that make it unprecedentedly easy to perform a wide range of tasks interactively.

VSCode, in contrast, is not specifically designed for a certain programming language. It is highly customizable through settings, and highly extensive through extensions. It supports many programming languages at different levels through language extensions that implement some common protocols such as the Language Server Protocol to enable language features based on code analysis such as Go To Definition and Rename symbol, and the Debug Adapter Protocol to enable interactive debugging of any target.

This vscode-R extension is a front-end extension that attempts to make it easier to work with R sessions interactively in VSCode. It is not intended to be a drop-in replacement of RStudio yet could be found useful by those who want a unified development environment to work with multiple programming languages including R, and those who need to work with self-managed R sessions or multiple R sessions at the same time.

To make VSCode a better code editor for R, we recommend that you install all the following packages:

  • vscode-R: Provides extended syntax for R and R Markdown and interactivity between VSCode and R terminal.
  • languageserver: An R package that implements the Language Server Protocol for R to provide a wide range of language analysis features such as auto-completion, function signature, documentation, symbol highlight, document outline, code formatting, symbol hover, diagnostics, etc.
  • vscode-r-lsp: R LSP Client to communicate VSCode and R Language Server.
  • radian: A modern R console that corrects many limitations of official R terminal and supports many features such as syntax highlighting and auto-completion.

The installation guidelines on the right side will provide the installation instructions in details on Windows, Linux and macOS.