引言

每一位初学者接触 R,想必都是从 RStudio 开始的,甚至将 RStudio 当作 R 本身的也不在少数。尽管 RStudio 是一个非常受欢迎的 R 编程环境,但它也有一些缺点。

  • 单 session
  • 布局固定
  • 内存消耗大

首先, “得益于”单 session 操作,当 RStudio 的 Console 中运行了一个命令后,整个编辑器就会失去响应,而时不时的无响应对编程的打击是巨大的。

其次,RStudio 的界面不够灵活。相信不是只有我一个人觉得右下角的文件导航窗没用吧,RStudio 的默认布局可能不适合每个用户的需求,而且更改布局需要花费一定的时间和努力。相比之下,其他 IDE 通常允许用户自定义和调整布局,以适应个人喜好和工作流程。

此外,RStudio 的性能问题可能会影响大型数据分析项目。当处理大型数据集时,RStudio 可能会变得缓慢,特别是在使用 RMarkdown 等功能时。在这种情况下,使用其他工具和方法可能更加有效和高效。

最后,RStudio 的可扩展性不如其他 IDE。虽然 RStudio 支持许多有用的插件和扩展,但它的扩展生态系统相对较小,没有像其他 IDE 那样广泛的社区支持和开发者社区。

因此,虽然 RStudio 是一个很好的工具,但它也有一些缺点,这些缺点可能会对一些用户造成问题。

所以为什么不来试试真正的”现代化代码编辑器”呢?比如,VSCode?

首先,VSCode 提供了与其他编程语言的无缝集成,使您可以在同一编辑器中编写和调试多种编程语言。这意味着您可以在一个环境中同时使用 R 和其他编程语言,而无需切换到不同的编辑器。

其次,VSCode 具有出色的代码自动完成功能和强大的代码编辑工具,这些工具可以帮助您更快地编写和调试代码。您可以轻松地自定义代码片段、快捷键和扩展,以便更好地适应自己的编码风格和需求。

此外,VSCode 还具有出色的 Git 集成,可以使您更轻松地管理代码版本控制。您可以使用 VSCode 内置的 Git 功能轻松查看代码差异、提交更改和解决冲突。

最后,VSCode 是一个轻量级的编辑器,可以更快地启动和运行,这意味着您可以更快地开始编写代码。它也可以更好地适应低性能计算机,因为它不需要太多的系统资源。

因此,如果你正在寻找一个更灵活、更高效的 R 代码编辑器,那么 VSCode 是一个值得考虑的选择。

效果展示

常用自带及插件附加功能

鼠标悬停即显示函数定义和文档,无论对应的包是否已经加载

鼠标悬停在变量上,直接展示变量类型信息

选中代码,自动格式化,例如添加空格等

奇妙插件

或许是昙花一现的奇思妙想,或许是有望长久存在于各位列表中的奇思妙想

自动写代码!!!

codeium

自动写文档!!!

Safurai

自动改 md!!!

mervin.markdown-formatter

过程–以 macOS 为例

我们需要的东西

  1. 本地 VS Code 及插件
    1. R(R LSP Client已被整合,不需要单独安装)
    2. R tools
  2. 本地 R 包
    1. languageserver
    2. httpgd
  3. 服务器应用
    1. python
    2. radian

安装

本地 VS Code 及插件

打开 VSCode,最左侧是活动栏。活动栏上的最后一个按钮就是“扩展”按钮。点击它之后你会看到大量可安装的扩展,也可以按快捷键组合 Ctrl + Shift + X 来启动扩展栏的侧面面板。

  • R
  • R tools

R 包

在 terminal 中进入 R 环境,安装 languageserver :

1
2
install.packages("languageserver")
install.packages("httpgd")

安装过程中可能出现 stringi 无法安装的情况,请详细参见引用 2

应用

conda install radianpip install radian 都行,取决于想往哪放。

值得注意的是,使用 M1 或 M2 的 mac 应该使用 arm64 构架的 R.

相应的安装包可以在以下页面找到:

R for macOS Developers

配置

VS CODE 配置

设置 - 插件-R, 将 Bracketed Paste 点上,网上的教程一般还要点 alwaysUseActiveTerminal, 但是我的实际体验是不好用…. 因为设置了之后就无法自动从 terminal 打开 r 了。

基础配置

使用 which radian 获取路径并填入 Rterm: Mac , 同时建议在 ~/.zshrcalias r="radian" .

RTerm 配置

使用 which R 获取路径并填入 Rpath: Mac .

Rpath 配置

R: Session Watcher 配置

这是设置的 json 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"r.rterm.option": [
"--no-site-file",
"--r-binary=/usr/local/bin/R",
],
"r.rterm.mac": "/Users/sandy/opt/anaconda3/bin/radian",
"r.bracketedPaste": true,
"r.rpath.mac": "/usr/local/bin/R",
"r.lsp.debug": true,
"r.lsp.path": "/usr/local/bin/R",
"r.sessionWatcher": true,
"r.plot.useHttpgd": true,
}

在设置界面点右上角进入:
VS Codeode setting json

引用

  1. 使用 vscode 进行 R 远程开发
  2. ## 如何在 VSCODE 中高效使用 R 语言(图文详解)
  3. ## VS Code 系列文章(二):Mac OS 系统下配置 VS Code 的 R 运行环境
  4. ## shiny 服务器未响应,忘掉 Rstudio,来用 VSCode 愉快地进行 R 远程开发
  5. 使用 VSCode 愉快地进行远程 R 开发