惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
Lohrmann on Cybersecurity
aimingoo的专栏
aimingoo的专栏
V
V2EX
S
Security Affairs
T
Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
IT之家
IT之家
J
Java Code Geeks
The Register - Security
The Register - Security
U
Unit 42
C
CERT Recently Published Vulnerability Notes
月光博客
月光博客
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
Cisco Talos Blog
Cisco Talos Blog
Project Zero
Project Zero
S
Schneier on Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
D
DataBreaches.Net
博客园 - 司徒正美
V
Vulnerabilities – Threatpost
T
Tor Project blog
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
M
MIT News - Artificial intelligence
云风的 BLOG
云风的 BLOG
小众软件
小众软件
L
LangChain Blog
Attack and Defense Labs
Attack and Defense Labs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Palo Alto Networks Blog
A
Arctic Wolf
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Cyber Attacks, Cyber Crime and Cyber Security
博客园 - 叶小钗
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 最新话题
MongoDB | Blog
MongoDB | Blog
Webroot Blog
Webroot Blog
H
Hacker News: Front Page
Know Your Adversary
Know Your Adversary
Spread Privacy
Spread Privacy
AWS News Blog
AWS News Blog
Engineering at Meta
Engineering at Meta

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
在VSCode 中配置R 语言运行环境 - 少数派
2018-10-05 · via 少数派

在使用R 语言的大部分用户中,RStudio 都是首选的IDE。凭借其完善的功能和特性,RStudio 似乎成了R 语言理所当然的选择。不过一些时候,我们可能并不需要特别多的复杂功能,而且我个人不是很喜欢RStudio 定制性很差的编辑器界面。在经过尝试之后,我决定使用VSCode 来挑战RStudio 的权威。

对于一些常用RStudio 来处理R 语言项目的用户来说,其他编辑器可能有些陌生。VS Code 是由微软开发的一款通用代码编辑器,除了更高的颜值之外,还支持几乎所有主流语言的代码高亮、代码补全、自定义主题和快捷键、Git 支持等等专业特性。通过大量的扩展插件,VSCode 可以完成很多不同的任务,其通用性可以保证在一个编辑器之内完成各种不同语言的项目,提高自己的工作效率。

当然,安装好VSCode 后,不要忘记安装R 核心程序

安装所需要的插件

如果你曾经在VSCode 中使用过Python 插件,实际上只需要微软出品的这一个插件就差不多可以开始工作了。但作为可怜的小众语言,R 的插件并不是官方开发,而是由第三方开发者贡献的。这也导致配置一个尚可的R 环境需要从四处安装不同的东西,才能开始工作。其中细琐事项甚多,又缺乏完善的教程方法,令人望而生畏。这也是我写这篇文章的初衷。

插件一:R support for Visual Studio Code

这是R 语言运行的核心插件,用来运行R 文件或运行所选行、提供语法高亮、data.frame预览、代码片段支持以及一些R 程序包的开发支持。安装完成后,便可以通过快捷键(默认为⌘+Enter)将编辑器中的所选行发送至R Console 运行,使用方法与RStudio 无异。但是单单安装这一个插件,却发现很多代码不能自动补全,尤其是来自第三方包的命令。这对强烈依赖第三方包的R 简直是致命的。这时就需要安装另外的一个插件。

在VSCode 中运行当前R 命令行
在VSCode 中运行当前R 命令行

插件二:R LSP Client

LSP 是Language Server Protocol 的缩写。简单来说,LSP 为不同语言在不同编辑器或IDE 中的自动补全、查找定义、悬停查看函数文档等功能搭建了桥梁,使得开发者可以减少针对不同语言和不同编辑器的重复开发。对用户来说,使用这一功能意味着可以获得更好的自动补全、查看帮助文档等特性。由于LSP 本身也是微软的项目,在VSCode 中的使用体验也会更好一些。R LSP Client 便是R 语言在这方面的实现,通过安装这个插件,可以弥补自动补全等功能的不足。

但有些使人迷惑的是,即使安装了这个插件,你会发现自动补全依然没有出现。实际上,插件只是在编辑器一侧提供了实现LSP 的条件,而在R 语言一侧还需要另外的包——languageserver——来完成搭接。在R 环境中运行如下安装指令:

install.packages("languageserver")

然后重启一下VSCode,整个LSP 的功能就可以实现了。

使用LSP 特性完成函数帮助和自动补全
使用LSP 特性完成函数帮助和自动补全

插件三:rtichoke(现更名为radian)

注(2019.03.23):经评论区用户@锆文 的提醒,目前rtichoke 更名为radian,但以下配置步骤并无变化,请各位悉知~如果配置过程中遇到版本不兼容的问题,可以参考其评论的安装方法尝试修正~

使用R 语言很多时候是把编辑器中的代码发送到Console 中运行,一些时候也需要直接在Console 中运行一些代码进行快速交互。RStudio 为Console 提供了语法高亮、自动补全等功能的加持,使得在Console 中也可以有比较方便的输入输出体验。然而R for VSCode 插件默认在Terminal 中调用R 进程,只会返回朴素的R Console 界面,高亮、补全通通不在考虑范围之内。

rtichoke 为这件事提供了新的可能。它给“性冷淡”的R Console 穿上一身华丽的新衣,也增加了自动补全、多行输入等等特殊能力。把它加入到VSCode 中,或是直接在终端中使用它运行R 代码,都是不错的替代方案。

有趣的是,rtichoke 本身是一个Python 项目,所以你需要安装有一个Python 环境(这里就不赘述Python 的安装方法),然后安装这个module。例如使用pip 进行安装,直接在终端中运行:

pip install -U rtichoke

等待安装进程结束后,就可以在终端中直接使用命令:

rtichoke

开始一个多彩的R 进程。

使用rtichoke 替代R Console
使用rtichoke 替代R Console

对接VSCode 与rtichoke

rtichoke 并不是VSCode 插件,它可以独立在终端中运行,但带来的问题就是无法在VSCode 中默认调用它。好在R for VSCode 插件提供了更换R Console 路径的设置,籍由此,我们可以完成二者的无缝对接。

打开VSCode 的设置项(默认为⌘+,),找到r 的设置。这里有三项相似的设置分别为r.rterm.linuxr.rterm.macr.rterm.windows,根据你的系统,找到需要更改的其中一个设置项。但在更改之前,需要知道rtichoke 在哪里。比较快捷的方式是在终端中运行:

which rtichoke

例如我这里返回了/Users/<username>/anaconda3/bin/rtichoke,将返回的路径粘贴在相应设置的值中,这一项设置即完成。

但重启VSCode 并以⌘+Enter 运行一个R 命令会发现VSCode 返回一个类似的错误:

终端进程命令“/Users/caoyue/anaconda3/bin/rtichoke --no-save --no-restore --no-site-file”无法启动 (退出代码: 2)

因为R for VSCode 插件在开启一个R 进程时,默认带入了三个选项--no-save--no-restore--no-site-file。然而根据rtichoke 作者的说法,rtichoke 的--no-save--no-restore已经作为默认选项故而无法再传入(相反你可以传入--save--restore)。如此,在设置中关闭--no-saveno-restore两个选项即可。在VSCode 的设置中,找到r 设置下的r.rterm.option,将后面不需要的两项注释掉或删掉即可。当然,你也可以在这里使用自定义的选项。

另外的一个问题是,你可能发现更换掉R Console 路径后,LSP 带来的效果不见了。这是因为Lanuage Server 指向的路径默认随着R Console 变动,而它无法识别rtichoke。我们通过将选项r.rpath.lsp 更改为r 程序的默认路径即可修复该问题(r 的默认路径在终端中运行which r 可得)。

到此为止,rtichoke 的配置工作结束。总结一下,设置项中会有如下的新设置(如果使用VSCode 新的GUI 设置界面,即是将冒号后的值粘贴到相应的设置框中):

{
    "r.rterm.mac": "/Users/<username>/anaconda3/bin/rtichoke",
    "r.rpath.lsp": "/usr/local/bin/R",
    "r.rterm.option": [
        // "--no-save",
        // "--no-restore",
        "--no-site-file"
    ]
}

注:VSCode 经典的设置采用JSON 模式,但目前推出了图形界面的设置。如果你不知道如何进行设置可以参照微软的文档

Bonus: 设置快捷键

R 语言有一些非常讨人厌的特性,比如赋值符号是<-。用两个字符赋值已经够繁琐了,按< 还需要去按Shift,搞不好下一个就按成_。RStudio 通过快捷键⌥ - 来输入它,我们可以通过VSCode 可以灵活自定义快捷键的特点,自己完成这一特性的实现。

打开快捷键设置(默认为⌘+K ⌘+S)并转到搜索框下的keybindings.json,在右侧的自定义快捷键部分追加如下的设置:

{
    "key": "alt+-",
    "command": "type",
    "args": {
        "text": " <- "
    },
    "when": "editorTextFocus"
}

这项设置非常好懂,key 为快捷键(加号仅作为连接符);command为命令,这里为type即输入;args 为参数,这里是输入的内容,即写在类型text 之后的<-when是规定了快捷键何时生效,这里规定为editorTextFocus,即当编辑器成为焦点时。

使用 <- 的快捷键
使用 <- 的快捷键

以此类推,可以为%>%等常用符号添加快捷键。更多VSCode 的快捷键设置可以参考微软的官方文档,通过自定义快捷键让VSCode 更加得心应手。

尾巴

诚然,在完成大型的R 项目中,VSCode 可能依然打不过RStudio,譬如整合的图形显示、帮助文档查询等等。但是寻找一个新的可能并在其中学得更多东西,固然不是一件坏事;在不同的场景下使用不同的工具,也可以带来意想不到的效果。何况VSCode 本身的可能性丰富多样,也具备更强大的通用能力,对于需要在R 和Python 两种环境下进行数据科学处理的用户可以带来更统一的体验。希望通过这篇文章可以将VSCode 中的R 配置更好地总结下来帮助需要的人,也欢迎大家来一起节流。