RStudio 中的代码折叠:在代码中创建层次结构
Posted
技术标签:
【中文标题】RStudio 中的代码折叠:在代码中创建层次结构【英文标题】:Code folding in RStudio: Creating hierarchy in the code 【发布时间】:2016-10-16 15:59:52 【问题描述】:我在 RStudio 中编写 R 脚本,我经常使用 code folding。我发现你可以通过按 cmd + shift + O 来查看折叠的层次结构。这非常有帮助。
# to my dear love ---------------------------------------------------------
2+2
# yo man ====
x.2 = function (x) x+2
### I do love potatoes ####
按cmd + shift + O查看结果。
我不明白这是如何工作的,因为当我编写下面的代码时,我可以创建一个没有文本的小节,但当其中有文本时则不能(使用 # ====
而不是 # yo man ====
)。
# to my dear love ---------------------------------------------------------
2+2
# ====
# yo man ====
### I do love potatoes ####
x.2 = function (x) x+2
data = "here is some data"
按 cmd + shift + O 查看结果。
您可以看到# to my dear love ---------------------------------------------------------
下的所有内容都向右移动了!这很酷!
-
因此,问题是,如何创建包含文本的部分层次结构?
是一个特殊的包还是 Emac 这样做?如何使用文本创建小节,并在 cmd + shift + O 框中查看层次结构?
如何通过降低右侧框中的视觉层次结构将部分(转到较高部分(例如第 2 部分)到较低部分(第 1 部分)下移?
【问题讨论】:
为了创建视觉层次结构(只是为了大纲面板的好处)我使用大写的部分# SECTION1 ----
和'.'+空格小写的小写# . Subsection1.1 ----
。它不会影响折叠,但会创建一个视觉结构。
有一个开放的 GitHub 问题请求添加对 Rstudio 中的小节/子标题的支持。要支持此请求,请参阅此处:github.com/rstudio/rstudio/issues/4124
现在可以使用 RStudio v1.4 blog.rstudio.com/2020/12/02/rstudio-v1-4-preview-little-things
【参考方案1】:
根据克里斯的回答subheaders within functions
RStudio 代码折叠层次结构仅适用于函数定义和 if-else 结构。例如:
# Section 1 ----
a <- 1
testfunct1 <- function ()
# sect in function=====
b <- 2
c <- 3
# Section 2 #####
d <- 4
# Section 3 =======
e <- 5
testfunct2 <- function ()
# sect in function 2 =====
f <- 6
testsubfunct2_1 <- function ()
# sect in subfunction 2_1 -----
if (a == 1)
# section in if ----
g < 7
else
# section in else ----
h = 8
# Section 4 ####
j <- 9
产生这个大纲:
我不知道为什么 if-else 部分标签不对齐。
【讨论】:
以上是关于RStudio 中的代码折叠:在代码中创建层次结构的主要内容,如果未能解决你的问题,请参考以下文章
SQL - 在 PARTITION BY 语句中创建层次结构