R Extension for Visual Studio Code
This VS Code extension provides support for the R programming language, including features such as R language service based on code analysis, interacting with R terminals, viewing data, plots, workspace variables, help pages, managing packages, and working with R Markdown documents.
The R and R Markdown syntaxes are located in a slibing package vscode-R-syntax.
Go to the wiki to view the documentation of the extension.
What's new in 3.0.0-rc
Version 3.0.0 introduces a major architectural shift for session watching:
sessR Package: Replaces the legacy file-based IPC with a modern,
- Better Performance and Reliability: No more OS-level file watchers.
- Automatic Installation: The extension will prompt you to install the
sess package when you start an R session if it is not available.
See the sess package README for more details on the protocol.
Quickstart
- Install R (>= 3.4.0) on your system. For Windows users, Writing R Path to the registry is recommended in the installation.
- Install the
languageserverpackage from R.
install.packages("languageserver")
- Install this R extension from the VS Code Marketplace or the Open VSX Registry.
code --install-extension REditorSupport.r
- Create an R file and start coding!
Recommended extras
Steps 1-3 above are all that's required to get started with R in VS Code. But we also recommend the following software for a fully optimized R + VS code experience:
- Install an interactive plotting backend for a better R graphics experience:
- arf: A modern R console with many features: syntax highlighting, multiline editing, vi/emacs keybindings, R version switching, etc. Successor to radian written in Rust.
- Complementary VS Code extensions:
Please consult the relevant installation wiki pages for your OS (Windows | macOS | Linux) for more detailed instructions.
Features
- Snippets for R and R Markdown.
- R Language Service: Code completion, function signature, symbol highlight, document outline, formatting, definition, diagnostics, references, and more.
- Interacting with R terminals: Sending code to terminals, running multiple terminals, working with remote servers.
- Package development: Build, test, install, load all and other commands from devtools.
- Keyboard shortcuts: Built-in and customizable keyboard shortcuts.
- Workspace viewer: Environment pane to show global variables in the attached R session.
- Help pages viewer: Viewing R help pages and searching help topics.
- Package management: Installing and removing R packages.
- Session symbol hover and completion.
- Data viewer: Viewing
data.frameormatrixin a grid or a list structure in a treeview.
- Plot viewer: Interactive plot viewer with support for jgd and httpgd backends, plus a standard PNG/SVG fallback.
- Webpage viewer: Viewing htmlwidgets such as interactive graphics and visual profiling results.
- Browser viewer: Viewing interactive shiny apps.
- R Markdown support: R Markdown chunk highlighting, chunk navigation, execute commands, and preview.
- RStudio add-in support: Run supported RStudio add-ins in VS Code with a live R session.
- Full support of Remote Development via SSH, Containers and WSL.
Questions, issues, feature requests, and contributions
- If you have a question about accomplishing something in general with the extension, please ask on Stack Overflow.
- If you find a problem or have a feature request with the extension, please find out if there is a current issue you may upvote or otherwise file an issue.
- Contributions are always welcome! Please see the contributing guide for more details.