文章目录
1. 使用 conda 安装
conda create -n r-dev -c conda-forge r-base=4.5 r-languageserver r-essentials radian -y
conda activate r-dev
检验安装情况
R -q -e "sessionInfo(); library(languageserver); cat('\nOK: languageserver installed\n')"
2. VS Code 中安装扩展
R
R Debugger
R Development
R Extension Pack
打开命令面板(Ctrl/Cmd + Shift + P)→ 搜索 R: Select R Interpreter → 选择 Conda 环境里的 R,可见类似路径:
D:\anaconda3\envs\r-dev\Scripts\R.exe
(可选)把 VS Code 里用于交互的 R 终端改成 radian:
打开设置(Ctrl/Cmd + ,)→ 搜索 “R: Term” →
R: Rterm(Windows)填:
D:\anaconda3\envs\r-dev\Scripts\radian.exe
也可以直接写settings.json
{
"r.rpath.windows": "D:\\anaconda3\\envs\\r-dev\\Library\\bin\\R.exe",
"r.rterm.windows": "D:\\anaconda3\\envs\\r-dev\\Scripts\\radian.exe",
"r.alwaysUseActiveTerminal": true,
"r.rterm.option": ["--no-save", "--no-restore"],
"terminal.integrated.env.windows": {
"R_HOME": "D:\\anaconda3\\envs\\r-dev\\lib\\R",
"PATH": "${env:PATH};D:\\anaconda3\\envs\\r-dev\\Library\\bin;D:\\anaconda3\\envs\\r-dev\\lib\\R\\bin",
"LANG": "zh_CN.UTF-8",
"LC_ALL": "zh_CN.UTF-8"
}
}
3. Lintr 格式报错问题
3.1 查找 R 默认读取的用户目录
Sys.getenv("HOME")
3.2 在目录中创建文件
.lintr
文件内格式如下。
linters: linters_with_defaults(
variable_1 = value,
variable_2 = value,
. . .
)
3.3 个性化设置
3.3.1 制表符
indentation_linter(indent = 4L)
3.3.2 单行内字符量
line_length_linter(length = 80L)
3.3.3 变量名格式
object_name_linter(styles = c("symbols", "CamelCase", "camelCase", "snake_case", "SNAKE_CASE", "dotted.case", "lowercase", "UPPERCASE")
3.4 一段代码搞定
# 获取用户主目录路径
home_dir <- Sys.getenv("HOME")
# 定义.lintr文件的完整路径
lintr_path <- file.path(home_dir, ".lintr")
# 配置内容:设置4空格缩进和120字符行长度
lintr_content <- 'linters: linters_with_defaults(
indentation_linter(indent = 4L),
line_length_linter(length = 120L),
object_name_linter(styles = c("symbols", "CamelCase", "camelCase", "snake_case", "SNAKE_CASE", "dotted.case", "lowercase", "UPPERCASE"))
)'
# 写入文件(若文件已存在会覆盖,不存在则创建)
writeLines(lintr_content, con = lintr_path)
# 验证结果
if (file.exists(lintr_path)) {
message("成功创建.lintr文件,路径:", lintr_path)
message("文件内容:")
cat(readLines(lintr_path), sep = "\n")
} else {
warning("创建.lintr文件失败,请检查路径权限!")
}

被折叠的 条评论
为什么被折叠?



