我正在一个Shiny项目中,其中Shiny应用程序包含大量代码。我想使用以下方法交互式地调试应用程序的代码:
runApp("ShinyApp.R", launch.browser = TRUE, display.mode = "showcase")
该display.mode = "showcase"
参数在我的浏览器中的应用程序旁边显示活动代码,并突出显示用户与应用程序进行交互的区域。这是一个工作原理的好例子:https : //shiny.rstudio.com/articles/action-buttons.html
此答案中提到了如何使用它的另一个示例:如何在闪亮的应用程序中突出显示活动代码?
我发现具有挑战性的是,因为我的应用程序的脚本包含800余行代码,所以当突出显示时,我看不到突出显示(它消失得太快)。如此处所述:https : //shiny.rstudio.com/articles/display-modes.html,突出显示会在几分钟后消失。
我的问题是:
是否可以增加时间直到突出显示的区域消失?
有没有一种方法可以迫使侧栏滚动到突出显示的区域?
感谢您的任何建议或答案!
是的,是的,但是您必须编辑源代码及其Javascript。需要修改的代码存在于中inst/www/shared/shiny-showcase.js
。如果您想从此处开始,我已经在Shiny的分支上进行了代码更改。
对于您有关高光持续时间的第一个问题,这由第112行的高JQuery
光效果处理:
// End any previous highlight before starting this one
jQuery(el)
.stop(true, true)
.effect("highlight", null, 5000);
原始值为1600或1.6秒,因此我将其提高到5秒。您可以将其更改为您认为最佳的内容。
关于滚动到活动/突出显示的代码的第二个问题未包含在原始脚本中,但其功能已烘焙到Web元素中并称为element.scrollIntoView()
。我只是在突出显示块之后插入了这段代码:
// Scroll to highlighted element
el.scrollIntoView({behavior: 'smooth'});
el
是当前指向活动代码区域以突出显示的变量名。
这里是实际操作的托管演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句