如何阻止RStudio打开未保存的内存密集型Rmarkdown时自动执行代码块
解决RStudio自动执行未保存Rmd代码的问题
我来给你几个亲测有效的解决办法,帮你摆脱这个烦人的自动执行问题:
直接清除缓存的临时Rmd文件
RStudio会把未保存的文件存在会话缓存目录里,找到对应位置删掉相关文件就能解决:- Windows:
%LOCALAPPDATA%\RStudio-Desktop\suspended-sessions - Mac:
~/Library/Application Support/RStudio/suspended-sessions - Linux:
~/.rstudio-desktop/suspended-sessions
删掉里面和你的项目相关的临时Rmd文件,重启RStudio就不会再自动跑代码了。这是最彻底的根源解决方法。
- Windows:
启动时跳过会话恢复
按住Shift键的同时打开RStudio,它会直接进入干净的新会话,完全跳过之前的恢复操作(包括未保存文件的加载和代码执行)。进去后再手动打开你的项目,就安全了。检查并修正全局会话设置
可能你之前没改对关键选项,重新走一遍设置流程:- 打开
Tools > Global Options... - 切换到
General标签页 - 在
Workspace区域:- 把
Restore .RData into workspace at startup改成Never - 把
Save workspace to .RData on exit改成Never
- 把
- 在
Sessions区域,关掉Restore previously open documents at startup
保存设置后重启RStudio,就能彻底禁用自动恢复旧会话的功能。
- 打开
单独修改项目的Rproj设置
如果不想影响其他项目,找到你项目的.Rproj文件,用记事本或任意文本编辑器打开,添加或修改这两行:RestoreWorkspace: No SaveWorkspace: No这样这个项目会单独禁用会话恢复,精准解决当前问题。
应急中断并清理代码
如果已经打开RStudio且代码正在执行,立刻按Esc中断运行,然后找到那个未保存的Rmd文件,删掉里面的visNetwork相关危险代码,赶紧保存——下次打开就不会再自动执行这段代码了。
内容的提问来源于stack exchange,提问作者Ben G
相关产品推荐
相关产品推荐

