使用browser()调试R Shiny时如何避免RStudio自动打开新标签页
解决R Shiny使用
browser()调试时RStudio自动弹出新标签页的方案 - 方案1:修改Shiny应用启动参数
启动应用时给shinyApp()或者runApp()添加launch.browser = FALSE参数即可从根源禁止自动打开页面,示例代码如下:
配置后你可以手动复制启动后控制台输出的应用地址,到你需要的浏览器窗口打开,调试过程中不会再触发自动弹窗。# 项目文件夹启动场景 runApp("./my_shiny_app", launch.browser = FALSE) # 单文件应用定义场景 shinyApp( ui = ui, server = server, options = list(launch.browser = FALSE) ) - 方案2:修改RStudio全局Shiny配置
打开顶部菜单栏 Tools -> Global Options -> Shiny,做两处修改:- 取消勾选
Show Shiny viewer context bar - 将
Open Shiny apps in:的选项调整为None(完全禁止自动打开)或Viewer Pane(固定在RStudio内置面板打开,不会弹出新标签)
该配置永久生效,不需要每次启动应用都单独设置。
- 取消勾选
- 方案3:临时会话级配置
如果你不想修改全局配置也不想每次加启动参数,可以在当前R会话启动应用前,执行一行全局设置代码:options(shiny.launch.browser = FALSE)
该配置在当前R会话关闭前始终生效。
上述所有方案生效后,只要你提前手动打开了应用页面,browser()模式下逐行执行代码不会再弹出名称为..的多余标签页,也不需要反复调整光标位置。
内容的提问来源于stack exchange,提问作者Vlad
相关产品推荐
相关产品推荐

