1.本机基本配置
2.环境搭建
- Homebrew
Homebrew已对M1进行了适配
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Anaconda
建意使用python3.8版本,目前该版本较为完善,并且在M1中兼容性十分优秀。
brew install --cask anaconda
- Vscode
请使用最新版本,最新版本对M1进行了适配。
brew isntall --cask visual-studio-code
5.Vscode插件
主要有两个,一是R language support,二是 R LSP Client for VS Code
- R环境
主要有三个包,一是 r-base, 二是 python,为 ardian 提供环境,三是 radian, 提供漂亮的terminal。
- 在创建 R 环境时请将 r_env 改为自己的名字。
- r-base 应在进入虚拟环境后安装,否则无法安装 r-base4.1.0.。
- r-base应使用最新版本,否则 Radian 无法使用。
conda create --name r_env python=3.8
conda activate r_env
conda install -c conda-forge r-base r-base=4.1.0
7.Radian
Radian 有两种安装方式
- 进入 R 环境
- conda 方式
conda install -c conda-forge radian
- pip 方式
pip install radian
3.配置过程与存在的问题
- "command + , " 进入 Vscode 配置界面
- 设置 R、Radian 路径
- 获得路径
conda activate r_env
where r
where radian
- 例如:
/opt/homebrew/anaconda3/envs/r_env/bin/r
/opt/homebrew/anaconda3/envs/r_env/bin/radian
-
设置 R 的路径
-
设置 Radian 的路径
- 在设置 Option 时,需将原来的 --no-save,–no-restore,删掉。
- –r-binary=,设置为自己的 R 路径,否则 Radian无法启动。
- 还应注意,所有的 R 的路径中,R 均为大写。
-
设置 bracketed paste
-
设置 r.sessionWatcher
-
安装 Languageserver
- Languageserver 用于提供 LSP 支持
LSP 是Language Server Protocol 的缩写。简单来说,LSP 为不同语言在不同编辑器或IDE 中的自动补全、查找定义、悬停查看函数文档等功能搭建了桥梁,使得开发者可以减少针对不同语言和不同编辑器的重复开发。对用户来说,使用这一功能意味着可以获得更好的自动补全、查看帮助文档等特性。由于LSP 本身也是微软的项目,在VSCode 中的使用体验也会更好一些。R LSP Client 便是R 语言在这方面的实现,通过安装这个插件,可以弥补自动补全等功能的不足。
Languageserver 的安装方式有3种,根据实际情况,这里介绍2种
- conda 方式
conda activate r_env
conda install -c conda-forge r-languageserver
- R 方式
conda activate r_env
R
install.packages("languageserver")
4.运行脚本的坑
- 安装完成后如果没有使 code runner 插件,在加载 Radian 后可以直接运行。
- 点一下右下角的位置,加载 Radian。
- 如果使用 code runner, 则不能用 code runner 运行程序,否则会报错。
code runner
这是因为 code runner 默认配置使用 Rscript 运行脚本导致的。
- 为保证脚本的正常运行,应使用 Vscode 的默认配置运行脚本。
5.结果测试
add <- function(x, y) {
x + y
}
print(add(1, 2))
print(add(1.0e10, 2.0e10))
print(paste("one", NULL))
print(paste(NA, "two"))
print(paste("multi-line", "multi-line"))
h <- c(1, 2, 3, 4, 5, 6)
M <- c("A", "B", "C", "D", "E", "F")
barplot(h,
names.arg = M, xlab = "X", ylab = "Y",
col = "#00cec9", main = "Chart", border = "#fdcb6e"
)
参考文献:
1.Writing R in VSCode: Interacting with an R session
2.如何在 VSCODE 中高效使用 R 语言 (图文详解)
3.将VScdoe的R终端替换为radian
4.A fresh start for R in VSCode