NppToR 是唯一支持交互式运行、断点调试、用户输入及图形设备的 Notepad++ 运行 R 脚本方案;其他如 Rscript.exe+F5 方式仅批处理执行,无法交互、无图形支持、工作目录错误且调试困难。

NppToR 是唯一能真正让 Notepad++ 直接运行 R 脚本的可靠方案,其他所谓“F5调用 Rscript.exe”的方式无法交互、不支持断点、不能接收用户输入(如 readline()),也不处理图形设备——本质是伪运行。
为什么不用 Rscript.exe + F5?
很多人尝试在 Notepad++ 的 Run → Run 中填入 Rscript "$(FULL_CURRENT_PATH)",看起来能执行,但实际踩坑严重:
-
Rscript是批处理模式,print()输出后立即退出,plot()图形窗口一闪而逝 -
readline("请输入:")会直接返回NULL,无法等待输入 - 工作目录默认是 Notepad++ 启动路径,不是脚本所在目录,
read.csv("data.csv")极易报错 - 错误堆栈不完整,缺少行号和调用链,调试困难
- 不支持
dev.new()、rstudioapi::selectRegion()等 IDE 协作功能
必须装 NppToR 并配对 R 和 Notepad++ 路径
NppToR 是一个独立 Windows 进程,它监听 Notepad++ 发送的代码片段,并转发给已启动的 R GUI 或 Rterm 实例。它不是插件,也不是脚本,必须单独下载、配置、常驻运行。
- 下载地址:GitHub 上搜索
npputor/npputor(注意是官方仓库,非 fork 或旧版) - 解压后双击
NppToR.exe,系统托盘出现 R 图标 → 右键 → Settings - 在设置窗口中准确填写:
– R 安装路径(例如:C:\Program Files\R\R-4.4.1\bin\x64\Rgui.exe)
– Notepad++ 安装路径(例如:C:\Program Files\Notepad++\notepad++.exe) - 勾选 “Start R at startup” —— 否则第一次发送代码时 R 不会自动启动
- Save 后点击 “Start Notepad++”,它会自动拉起 Notepad++ 并建立通信通道
F8 / Ctrl+F8 才是真实运行逻辑
配好 NppToR 后,Notepad++ 内所有 R 相关操作都依赖快捷键,而非菜单或 F5:
- 光标在某行 → 按
F8:发送该行到 R 控制台执行(支持多光标) - 选中多行 → 按
F8:发送选中块(保留缩进与换行) - 全文件无选中 → 按
Ctrl+F8:发送整个文档(等效于 source()) - 按住
Shift+F8:发送并切换焦点到 R 窗口(方便立刻看结果或输入) - 若 R 窗口最小化,
NppToR会自动还原并聚焦(这是它比纯命令行方案的关键优势)
中文变量名、UTF-8 注释、管道符 %>% 高亮需额外补丁
即使 NppToR 正常运行,Notepad++ 默认仍无 R 语法高亮——这和运行无关,但影响编码体验。必须手动导入 UDL:
- 从 GitHub
notepad-plus-plus/userDefinedLanguages下载最新R.xml - 导入:语言 → 定义你的语言… → 导入 → 选中
R.xml→ 重启 Notepad++ - 编辑
R.xml,在<keywords name="keywords1">区域末尾追加:library require ggplot2 dplyr tidyr %>% !! {{}}(注意每个词前后空格) - 关联扩展名:设置 → 首选项 → 文件关联 → 扩展名填
R(不是.R),映射到语言列表里的 “R” - 编码设为 UTF-8(无 BOM):设置 → 首选项 → 新建 → 编码 → UTF-8
真正容易被忽略的是:NppToR 本身不控制高亮,也不管编码;它只管“把文本发过去”。所以中文乱码、%>% 不变色、library() 无高亮,全是 UDL 和编码设置的事,和运行通路完全解耦——修错地方,永远查不到问题。


















