【问题标题】:How to code fold parenthesis () in R / RShiny App using RStudio hot key?如何使用 RStudio 热键在 R / Shiny App 中编码折叠括号()?
【发布时间】:2021-08-15 23:04:41
【问题描述】:

我在 R 中一直使用代码折叠 + 代码折叠热键来保持我的脚本井井有条。如果一切都在函数中并且函数完成了工作,那么折叠的代码就非常整洁了。

我们如何编码折叠下面的dashboardBody() 调用?如果我在第 32 行和第 33 行之间添加 #####,则第 33 行下方的整个脚本将折叠成一个折叠,这是有问题的,因为我只想让 dashboardBody() 函数在这里折叠起来。

我试过这个,我用花括号把整个东西包起来

ui_body <- {dashboardBody(

  # Shiny HTML Tags 
  tags$script(HTML("$('body').addClass('fixed');")),
  tags$head(tags$style(HTML(css_fixed_sidebar))),
  tags$head(tags$style(HTML(css_dashboard_body_white))),
  tags$head(tags$style(HTML(css_nyk_grey_header))),
  
  # UI Body for this page
  tabItems(
    create_ui__glossary(id = NA) # NA for no server module
  )
)}

...虽然代码折叠图标确实出现在这里

...这是有问题的,因为 (a) 如果 dashboardBody() 仍然显示会更好,例如函数名称在折叠时如何显示(尽管这可能不可能),更重要的是 (b) RStudio代码折叠热键(Windows上的ALT-O)由于某种原因无法折叠此部分,因此我必须手动单击箭头折叠此代码,这违背了使用热键的目的-key 对整个脚本进行代码折叠。

还有其他方法吗?

【问题讨论】:

  • 长话短说:我不认为你可以。我告诫不要过度依赖代码折叠——我觉得这是一个不必要的拐杖,我认为它在编写干净的代码中没有用。但我完全接受我在这方面错了的可能性。
  • 我在想也许我可以把整个东西包装在一个返回dashboardBody()的函数中

标签: r code-folding


【解决方案1】:

将其包裹在一个函数中并折叠该函数...

create_ui_body <- function() {
  return (
    dashboardBody(
       ...
    )
  )
}
ui_body <- create_ui_body()

折叠成这样:

我很想知道是否有人可以指出这种方法的任何问题。

【讨论】:

    猜你喜欢
    • 2012-08-29
    • 2022-07-22
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2015-12-23
    • 2015-09-05
    • 2020-08-29
    • 1970-01-01
    相关资源
    最近更新 更多