在前面

有时候各位使用R的用户不知道会不会有这样的感觉,visual studioRstudio由于负载过重,在打开或者加载R script时会出现加载过慢的情况,但对于很多数据工作者来说,variable inspector和data view这类的数据可视化功能必不可少,而visual studio和Rstudio在这方面做得可以说是非常完善。在这时候笔者就想到了visual studio code,毕竟作为宇宙最强IDE的减配和开源版本(这里形容可能不太准确),各种语言相应的开发插件众多。更加让笔者惊喜的是,目前vscode-R一直处于开发阶段,并且在最近的1.2.0版本结合了vscode关于web view的API,添加了R session watcher——一个集成的数据可视化构架,并且在1.21中完善了windows系统下的extension的bug。我们来看看集成的viewer会有什么样的效果:

b4dfe651f7fd4fbfc23c393923b4e845.pngc5952f104733ea8925cada57a066e222.png4b9f90040d501fad9702a78de8c47ce9.png

整体看起来效果还是非常不错的,开发者在整体上还是保留了Rstudio和visual studio中对于View()这个函数的配置,还在此基础上添加了search功能,此外对Rshiny可视化的支持也非常棒,具体可以见:https://github.com/Ikuyadeu/vscode-R。

FBI WARNING: visual studio code对R的配置显然没有Rstudio和visual studio那么智(傻)能(瓜),需要先装好python,慎入!!!

体配置

首先下载visual studio code

10a9ac677fb2d299b5f7a422a0925d01.png

在visual studio code中下载R和R LSP client两个extension

R extension作为基础的R语言插件,R LSP client作为代码编写时函数提示的辅助工具。

8c8b5063ecfb956fa5412a6319ced4aa.png04e6f14525f7cc947460e6328684326f.png

安装radian

visual studio code这两个extension由于不存在R console的配置优化,在这里需要借助python中的R interactive窗口——radian,用pip install进行安装。

▶ pip install radian

在R中安装languageserver和jsonlite

R LSP client需要借助languageserver实现函数的智能识别,R session watcher需要借助jsonlite来做数据呈现

▶ install.pacakges("languageserver")

▶ install.packages("jsonlite")

在R和R LSP client当中进行配置

R LSP client的配置

Path中添加R的执行文件的路径,当然也可以选择radian.exe的路径(该路径存在于python的scripts文件夹中)。

269d2f5bf981cb9d86a9798c647746e5.png

R extension的配置

1

Option中删除前两个,--no-save和--no-restore

92edea141665e6e8294c2c35b43e32f0.png

2

在文件中找到Rprofile.site文件,编辑脚本,插入以下这段代码

▶ source(file.path(if (.Platform$OS.type == "windows") file.path(Sys.getenv("HOMEDRIVE"), Sys.getenv("HOMEPATH")) else Sys.getenv("HOME"), ".vscode-R", "init.R"))

一般来说Rprofile.site文件存在于.../R/etc路径中

095033b7be73581e013029f9c91fa3fa.png

3

勾选vscode-R中的Enable R session watcher

919f3f36d4efa3d091eace60a5aae5cc.png

4

勾选Bracket Paste与Always Use Active Terminal

7fca488ac8a88f621f9a527728cfbe3e.png

5

为保证一切修改成功,快捷键Ctrl + Shift + P,运行Reload window

0bd2368337d1e06d30d33f78b1da3ae1.png

6

打开Terminal中输入radian此时就可以运行R script,并且用View()函数浏览数据、环境中的变量以及图片

37b3b2e7d011f6a3365505b0f0dc2d6c.png

  让R session watcher完全启用的注意事项:

注1:

Windows用户如选择Rterm路径的情况,并不勾选Always Use Active Terminal,令命令直接在新建的R interactive中运行的话,则会出现R session watcher不启用的状况,data和plot的review窗口则会自动调用自身gui所带的review窗口,以在windows中选择radian.exe路径为例:

8cb2a197d8b0d3333b00a15381c022f9.png0b6681b0f29fef4d2f55fa207c3989b8.pnga6f1a0af91a0a6cd894610496fdcf2db.png

注2:

需要选择file->open folder来打开一个R文件,不能够以桌面路径作为terminal运行的根目录。因为此文件夹存储每一次的vscode-R临时环境,在这样的条件下才能在此folder中产生一个临时环境,让vscode-R识别一个临时环境,从而让R session watcher的临时文件写入:

eee1914bc87d1e0671f048d3fa16998c.png

上图为运行vscode时窗口底层的选项,只有类似R:6028这样的信号出现,才表明R session watcher才能真正运行。

07f383a113b4e74812e7725bfd95f320.png

上图中我们可以看到,这样一个临时的缓存文件夹被保存在当前的文件夹里面,这个文件夹编号与之前图中临时环境编号一致,这样才能查看数据。

以上两点非常重要,笔者也是被坑了很久,才最终发现这两个关键点是运行R session watcher的关键。还是期待以后的开发者能够把这项功能开发的更加智能一些,毕竟还是在experimental阶段,未来的开发是值得期待的。

Logo

一站式 AI 云服务平台

更多推荐