I have an issue when developing an R project using RStudio. I create an object, and then realise later, that I want to give it another name. I then have to manually change the name, which in larger projects is annoying and often results in errors, as I easily oversee one line. The replace
all
function of RStudio doesn't quite match the name I am trying to replace, as it only does so in one file, it also doesn't consider only the references of the variable see sample code:
f <- function(a){
b <- a
return(a+b)
}
a <- 5;
a <- a + f(1)
In that sample, I'd like to rename a
only inside the function. I'd have to do that thrice, while replace
all
would mess up my code outside the function. I don't want to edit that a
. I.e. Visual Studio has an option of renaming a variable using the hotkey: Ctrl
+ .
. Then Visual Studio renames the variable and its references in the entire project, without editing equally named variables that don't have a reference to the edited one. I haven't been able to find an option like that in RStudio. Is there an equivalent?
RStudio IDE v1.0 includes a feature called "Rename in scope" that aims to do this:
I cannot find documentation for the feature. The example from the animated GIF works though when I place the cursor on the first instance of
d
(the variable name to replace), and then selectCode
->Rename in Scope
. However, when I try the same steps but starting from the second instance, it does not work. So apparently you need to start from the place where the variable is assigned?In practice, there still seem to be bugs that prevent the feature from working. For instance, the example below does not work unless the header is removed.