Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Define what makes a code section in rstudio

Tags:

r

rstudio

Rstudio changed how a code section is defined. In version 0.99.902 code sections had to have some text behind the hash symbol. But now in version 1.0.136 if there are 5 hashes in a row it will define a new section.

Is there anyway to make it go back to the old way of defining sections? It isn't a big deal except I would mark my sections with hashes above and below the name and now it is creating 3x as many sections.

Old version:

enter image description here

New version:

enter image description here

like image 846
Kristofersen Avatar asked Mar 30 '17 16:03

Kristofersen


2 Answers

I don't know if there's a way to recover the old behavior, but you could use + instead. In addition, you can put this in a code snippet (if you haven't already). In Preferences, go to the Code tab, scroll to the bottom and click the Edit Snippets button. Then add something like the following:

snippet hd
  `r "# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  ### HEAD ##########
  # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"`

Then, when you type hd followed by a tab (actually two tabs, since the first tab will bring up a few options that start with hd, but hd will be at the top, so you can just press tab twice) in your R script file, the following will appear:

# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
### HEAD ##########
# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Better yet, you can create a snippet that takes the heading text as an argument:

snippet hd
   `r paste("# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n",
   "### ", "${1:HEAD}", " ##########\n",
   "# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++", sep="")`

Then, when you type hd followed by two tabs, the HEAD text will be highlighted and you can just type in your actual heading text.

like image 159
eipi10 Avatar answered Oct 21 '22 14:10

eipi10


Unfortunately, this behavior has changed between RStudio v0.98.1091, v0.99.903 and the current release v1.0.136.

In RStudio v0.98.1091, 'empty' headers such as ##### were recognized as section headers.

This behavior was briefly changed with v0.99.903, such that some initial text was required for these to be recognized as section headers. A number of users were unhappy as this effectively broke code folding for users who were explicitly using standalone ##### blocks to create sections.

Because of that, the behavior was reverted in RStudio v1.0.136, and so now standalone ##### blocks are again recognized as section headers.

like image 1
Kevin Ushey Avatar answered Oct 21 '22 12:10

Kevin Ushey