折叠 R-Studio 脚本中的所有函数
Folding all functions in a R-Studio Script
基本上我已经在一个 R-Script 中编写了相当多的函数。为了创建更好的概览并且我不必滚动太多,我通常按下函数定义左侧的箭头,将其折叠。
对于超过 30 个函数,这可能会很烦人,因为当我 运行 它们时,它们会连续 "unfold"。
这张图可以看出折叠的意思
有人知道这个问题的键盘快捷键吗?
这不是折叠问题的直接解决方案,但导航大量脚本的更简单方法是使用源代码编辑器底部的下拉列表。它列出了活动 window.
中所有已定义的函数
在Rstudio中,您可以点击Edit -> Folding -> Collapse All
mac 上的 Command + Option + O
快捷键。
很遗憾,这似乎不可能。
我认为最好是学习一些规则来系统地应用:
RStudio folding rules
可以使用“编辑 -> 折叠 -> 全部折叠”折叠的部分将是任何注释行(以 # 开头),其中至少包含四个尾部破折号 (-),等于符号 (=) 或井号 (#)
可以不折叠 { },而是按照 R 的预期插入该部分,然后使用“编辑 -> 折叠 -> 全部折叠”。
注意:这不适用于选定区域和“编辑 -> 折叠 -> 折叠”。
来自以下代码:
# function1 ####
function1 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
# function2 ====
function2 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
# function3 ----
function3 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
# function4 ####
function4 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
#### function5 ####
function5 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
我可以这样折叠:
如果总是使用相同的方式来定义函数,可以使用awk在每个函数定义之前实际添加一个部分:
awk '{ if( [=11=] ~/function/ ) { print "####" [=11=] "\n" [=11=] }else{ print [=11=]} }' code_function.R
来自文件中包含的以下代码code_function.R
function1 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
function2 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
我运行在一个(linux)终端:
awk '{ if( [=13=] ~/function/ ) { print "####" [=13=] "\n" [=13=] }else{ print [=13=]} }' code_function.R > code_function_withSections.R
并且我获得了以下文件——丑陋的文件——但是修改 10000 个函数文件的快速方法。
####function1 <- function(x){
function1 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
####function2 <- function(x){
function2 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
基本上我已经在一个 R-Script 中编写了相当多的函数。为了创建更好的概览并且我不必滚动太多,我通常按下函数定义左侧的箭头,将其折叠。 对于超过 30 个函数,这可能会很烦人,因为当我 运行 它们时,它们会连续 "unfold"。 这张图可以看出折叠的意思
有人知道这个问题的键盘快捷键吗?
这不是折叠问题的直接解决方案,但导航大量脚本的更简单方法是使用源代码编辑器底部的下拉列表。它列出了活动 window.
中所有已定义的函数在Rstudio中,您可以点击Edit -> Folding -> Collapse All
mac 上的 Command + Option + O
快捷键。
很遗憾,这似乎不可能。
我认为最好是学习一些规则来系统地应用: RStudio folding rules
可以使用“编辑 -> 折叠 -> 全部折叠”折叠的部分将是任何注释行(以 # 开头),其中至少包含四个尾部破折号 (-),等于符号 (=) 或井号 (#)
可以不折叠 { },而是按照 R 的预期插入该部分,然后使用“编辑 -> 折叠 -> 全部折叠”。
注意:这不适用于选定区域和“编辑 -> 折叠 -> 折叠”。
来自以下代码:
# function1 ####
function1 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
# function2 ====
function2 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
# function3 ----
function3 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
# function4 ####
function4 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
#### function5 ####
function5 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
我可以这样折叠:
如果总是使用相同的方式来定义函数,可以使用awk在每个函数定义之前实际添加一个部分:
awk '{ if( [=11=] ~/function/ ) { print "####" [=11=] "\n" [=11=] }else{ print [=11=]} }' code_function.R
来自文件中包含的以下代码code_function.R
function1 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
function2 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
我运行在一个(linux)终端:
awk '{ if( [=13=] ~/function/ ) { print "####" [=13=] "\n" [=13=] }else{ print [=13=]} }' code_function.R > code_function_withSections.R
并且我获得了以下文件——丑陋的文件——但是修改 10000 个函数文件的快速方法。
####function1 <- function(x){
function1 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}
####function2 <- function(x){
function2 <- function(x){
somecode <- 0
test <- 3
mean(c(1,2,3))
}