拥抱AI - 从vscode开始
引言
作为生信分析工程师,日常工作中不仅需要处理大量的代码和数据,还需要不断学习和适应新的技术和工具。🧬💻
得益于 AI 的发展,许多繁琐的任务得以自动化,使我们能够将更多精力集中在数据分析和模型构建上。🤖📊
在这个过程中,选择合适的工具至关重要。Visual Studio Code(VSCode)作为一款轻量级的代码编辑器,凭借其强大的扩展性和良好的用户体验,逐渐成为生信分析领域的热门选择。🚀✨
本文将介绍如何在 VSCode 中配置 R 环境,替换 RStudio,并利用 VSCode 的强大功能提升工作效率。💡🔧
R 环境配置
一、插件软件安装
- 在VScode中安装vscode-R、VSCode-R-Debugger、Path Autocomplete扩展。
- 利用 ssh 连接服务器,安装 mamba,安装教程见:Mamba安装。
- 在服务器终端中输入下面的命令安装 R、radian、pandoc。
# 创建名为 R 的 conda 环境
mamba create -n R
# 激活 R 环境
mamba activate R
# 安装最新版的 R
mamba install r-base -c conda-forge
# 安装radian、pandoc
mamba install radian pandoc
这里使用mamba(和conda没有什么区别)安装R、radian和pandoc的原因是在没有服务器root权限的情况下,使用 mamba 安装 R 可以更方便的更新到最新版本的 R。
- 按照下面的代码安装languageserver、httpgd、rmarkdown R 包
# 请逐步安装每一个 R 包,因为在安装 R 包的过程中可能会出现报错,报错解决办法看文末的常规问题。
install.packages("languageserver")
install.packages("httpgd")
install.packages("rmarkdown")
二、软件配置
- 配置 VScode-R 插件,打开 VScode 的设置,搜索
r.rterm.linux
,填入 R 所在的路径。R 路径可以在 R 的环境下使用which R
命令查看 R 的路径。在这里没有使用 radian 的原因是 VScode 无法正常识别 conda 环境中的 radian。 - 搜索
r.bracketedPaste
,勾选复选框。 - 搜索
r.plot.useHttpgd
,勾选复选框。 - 搜索
editor.defaultFormatter
,选择 R。 - 搜索
editor.formatOnSave
,勾选复选框。 - 搜索
editor.wordSeparators
输入括号中的文本:【`~!@#%$^&*()-=+[{]}\|;:'",<>/?】。 - 搜索
path-autocomplete.pathMappings
,点击在settings.json
中编辑,粘贴下面的内容到文本末尾,注意缩进。
"path-autocomplete.pathMappings": {
"/": "/",
"./": "${folder}"
}
- 用 ssh 连接服务器,输入
vim ~/.lintr
,按i
键进入编辑模式,复制下面的内容到文件中,按ESC
键退出编辑模式,输入:wq
保存并退出。
linters: linters_with_defaults(
object_name_linter = NULL,
line_length_linter = NULL,
object_usage_linter = NULL,
commented_code_linter = NULL)
- 快捷键设置,点击 VScode 页面左下角的设置按钮,选择键盘快捷键,然后点击界面右上角的转义按钮,把下面的文本全部粘贴到
keybindings.json
中。设置好后按Alt + -
即可在脚本中输入<-
,其他快捷键请自行探索。
// 将键绑定放在此文件中以覆盖默认值 auto[]
[
{
"key": "alt+-",
"command": "type",
"when": "editorLangId == r && editorTextFocus || editorLangId == rmd && editorTextFocus",
// if you want using quarto, try this
// "when": "editorLangId =~ /r|rmd|qmd/ && editorTextFocus",
"args": {"text": " <- "}
},
{
"key": "ctrl+shift+m",
"command": "type",
"when": "editorLangId == r && editorTextFocus || editorLangId == rmd && editorTextFocus",
"args": {"text": " %>% "}
}
]
三、使用方法
在 VScode 中打开写好的 R 脚本后,按Cmd + Enter
或Ctrl + Enter
即可逐行运行 R 脚本。
四、常规问题
- 安装languageserver R 包报错,提示无法安装xml2依赖包,解决办法发为在 R 环境中使用 mamba 安装 r-xml2 最新版,命令:
mamba search r-xml2=1.3.6 -c conda-forge
。r-xml2 的版本请安装最新版,可以到 CRAN 上的CRAN-xml2查看版本,然后用mamba search r-xml2
搜索 r-xml2 的版本。如果版本对应,则可以安装。安装频道可以使用 conda-forge,一般都是最新的。然后在 R 的终端中重新安装languageserver R 包。 - 安装httpgd R 包报错,提示无法安装systemfonts依赖包,解决办法是在 R 环境中使用 mamba 安装 r-systemfonts 最新版,命令:
mamba install r-systemfonts=1.1.0 -c conda-forge
。r-systemfonts 的版本请按照第一个问题中的描述进行解决。
结语
在 VSCode 中使用 R 的好处是,我们后续可以利用 AI 进行全自动脚本编写与调试,可以大幅度提升效率。
让本来一周的工作量缩短到一天,甚至更短。
至于如何实现嘛,我们下期再分享。bye~ 👋
参考链接
https://github.com/REditorSupport/vscode-R/wiki/Getting-Started
https://github.com/REditorSupport/vscode-R/wiki/Installation:-Linux
https://github.com/REditorSupport/vscode-R/wiki/Keyboard-shortcuts