使用knitr和RStudio在外部文件中折叠代码

时间:2013-05-10 01:55:38

标签: knitr code-folding

我找不到将语法上可接受的RStudio样式折叠插入到外部R代码文件中的设置,该文件是为编织文档设置的。或者我错过了什么。有几种方法可以做到: 1)允许代码标题,例如:

## @knitr Q1 ----

或者

## @knitr 'Q1' ----

2)折叠每个代码块(这将是RStudio的变化),但这不是 一般,因为我会理想的喜欢。

3)允许在代码文件中包含某种表示折叠的注释行。我无法找到一种方法来执行此操作,但不会将注释行添加到上一个代码块。

[由于最初发布此内容,我注意到read_chunk()中的'from'和'to'参数可以是正则表达式,用于指定代码块的起始字符串和起始字符串。因此,这提供了一种允许插入可以指定折叠的注释行的方法。然而,能够使用上述机制1-3中的一个或多个会很好。]

1 个答案:

答案 0 :(得分:1)

knitr v1.2.11及更高版本开始,knitr中一致支持RStudio样式代码标头。该规则基本上是# ---- label

  • 开头的一个或多个哈希#
  • 后跟至少四个破折号----
  • 后跟大块标签
  • 并且可选地后跟任意数量的破折号

read_chunk()purl()都支持此功能,即knitr中的导入和导出代码都使用了这种注释方式。

但是,要使RStudio支持代码折叠,您必须在注释标题的末尾添加至少四个破折号,例如,

# ---- chunk-label -----------------------------

knitr 1.2.11是development version on Github,最终将在CRAN上成为1.3。