【发布时间】:2017-03-30 16:02:53
【问题描述】:
Rstudio 更改了代码段的定义方式。在 0.99.902 版本中,代码部分必须在井号后面有一些文本。但是现在在 1.0.136 版本中,如果连续有 5 个哈希值,它将定义一个新部分。
有没有办法让它回到定义部分的旧方式?这没什么大不了的,只是我会在名称上方和下方用哈希标记我的部分,现在它正在创建 3 倍的部分。
旧版本:
新版本:
【问题讨论】:
Rstudio 更改了代码段的定义方式。在 0.99.902 版本中,代码部分必须在井号后面有一些文本。但是现在在 1.0.136 版本中,如果连续有 5 个哈希值,它将定义一个新部分。
有没有办法让它回到定义部分的旧方式?这没什么大不了的,只是我会在名称上方和下方用哈希标记我的部分,现在它正在创建 3 倍的部分。
旧版本:
新版本:
【问题讨论】:
我不知道是否有办法恢复旧行为,但您可以改用+。此外,您可以将其放入代码 sn-p 中(如果您还没有的话)。在首选项中,转到Code 选项卡,滚动到底部并单击Edit Snippets 按钮。然后添加如下内容:
snippet hd
`r "# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
### HEAD ##########
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"`
然后,当您键入hd 后跟一个选项卡(实际上是两个选项卡,因为第一个选项卡会弹出几个以hd 开头的选项,但hd 将在顶部,所以您可以只需在你的 R 脚本文件中按两次 Tab 键,就会出现以下内容:
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
### HEAD ##########
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
更好的是,您可以创建一个将标题文本作为参数的 sn-p:
snippet hd
`r paste("# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n",
"### ", "${1:HEAD}", " ##########\n",
"# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", sep="")`
然后,当您键入 hd 后跟两个选项卡时,HEAD 文本将突出显示,您只需输入实际的标题文本。
【讨论】:
#######...###### 更改为 # ++++...+++++。很痛苦,但至少它只是一个操作,并且对于给定的脚本只需要执行一次。如果您对命令行很方便,您可以一次对所有 R 脚本执行此操作,最好使用正则表达式来捕获和替换 # 的“长”字符串。
不幸的是,这种行为在 RStudio v0.98.1091、v0.99.903 和当前版本 v1.0.136 之间发生了变化。
在 RStudio v0.98.1091 中,“空”标头(例如 #####)被识别为节标头。
此行为在 v0.99.903 中进行了短暂更改,因此需要一些初始文本才能将其识别为节标题。许多用户不满意,因为这实际上破坏了明确使用独立 ##### 块创建部分的用户的代码折叠。
因此,该行为在 RStudio v1.0.136 中被恢复,因此现在独立的 ##### 块再次被识别为节标题。
【讨论】:
#### 曾被明确记录,但由于它们有效,它们隐含地成为 RStudio 中创建部分的方式的一部分。我能找到的最接近的是这篇支持文章:support.rstudio.com/hc/en-us/articles/…