R extension for Visual Studio Code
A Visual Studio Code extension provides support for the R language for R 3.2+. Features include syntax checking, completions, code formatting, formatting as you type, tooltips, linting.
- Windows x64
- Mac OS 10.14+
- Mac OS 11.2+ with Rosetta 2
- Linux distros supported by .NET 5.0 Runtime.
Open the Command Palette (Command+Shift+P on macOS and Ctrl+Shift+P on Windows/Linux) and type 'R:' to see list of available commands and shortcuts.
Syntax check is performed as you type or when opening a file. Look for red squiggles. Problems are also reported in the
Extension provides ability to format document or selection. Formatting options are available in the
r.editor settings section.
Automatic formatting (as you type)
The editor can format code after you type Enter, ; or }. You can control the feature via
r.editor.fornatOnType settings. Formatting settings are the same as in the document formatting.
Functionality is close to lintr. However, you do not have to run linting explicitly, it happens as you type. By default it is disabled, you can enable it by setting
true. Linter has various options available in the
Execute in terminal/source file
R: Execute line or selection commands to execute line or selection in the terminal. Similarly, use
R: source file to source file from the editor into the terminal section.
Shortcuts and snippets
Extension provides shortcuts for
%>% as suggested in #22. There are completion triggers on
< which allows using completion list for snippets, as in RTVS.
You can either type
< and then
TAB to get
<- via completion list or use keyboard shortcut
alt+-. For pipe
%>% either type
% and then
TAB or use
Snippets file can be found in
snippets/r.json in the extension folder.
Thanks to @jackbrookes for suggestions and snippets.
Remoting and WSL
The extension does work in WSL. However, output windows cannot be displayed since UI does not translate over remote connection. There is limited support for plotting though. Remoting like
R Tools in Visual Studio into containers with preinstalled RTVS broker is not supported. Please use VS Code remoting instead.
Plots typically appear in external R windows. However, there is support for internal
Plot window that may come handy when working with remote sessions, such as WSL. Try
r.execute command (
Ctrl+Shift+Enter) to evaluate code in internal R session. Executing command over a line that yields a plot will output plot in the internal
Remember though that Terminal window and internal R session are not connected. Executing code in Terminal and then attempting plot the result via internal session won't work. With remote ressions, you can execute code in Terminal, save results into a file, then execute plotting in internal session providing results from the file.
Using custom R executable in terminal
You can set
r.terminalPath to an executable for the R Terminal. For example, Radian. The extension completions engine still needs to know where to find R binaries so it is recommended to set
r.interpreterPath to whatever version of R used in the terminal.
R session in the editor does not automatically pick up new packages installed in the terminal. You may have to reload the window for the session to pick up newly installed modules.
.NET Core not found
You can bypass .NET Core check by setting
R Interpreter not found
r.intepreterPath setting and specify path to R installation. The path should be root folder, like
C:\Program Files\R\R-3.4.3, without
Not currently supported
- Completions in console
- 32-bit R
- Dynamic update of the session when new packages are installed.
Please file issues at the project GitHub
Extension is based on Microsoft R Tools for Visual Studio aka RTVS.
Please visit https://github.com/microsoft/rtvs for more information.
This project is a personal effort and although it builds upon Microsoft code,
it is not supported by Microsoft. I work on the code occasionally in my spare time.