Rstudio addins to examine selected code in the Rstudio editor.
Berry Boessenkool
(berry-b@gmx.de),
May 2017, with selectobject
code idea from
digital-dharma/RStudioAddIns).
I find it very useful to bind the addins to keyboard shortcuts like this (and label the keyboard):
str(selected_code)
head(selected_code)
tail(selected_code)
View(selected_code)
funSource(selected_code)
summary(selected_code)
dim(selected_code)
class(selected_code)
plot(selected_code, las=1)
hist(selected_code, col="moccasin", breaks=50, las=1)
To use such keyboard shortcuts, follow these instructions:
if(!requireNamespace("remotes")) install.packages("remotes")
::install_github("brry/rskey")
remotes
# either set all bindings:
::setKeyboardBindings(overwrite=TRUE)
rskey# by default also sets CTRL+Y for ReDo and CTRL+H for setWorkingDirToActiveDoc
# or manually:
# Rstudio - Tools - Modify Keyboard Shortcurts
# click on an addin shortcut field and press the desired key combination
# (Restart Rstudio)
funSource
provides an easy option to open the source
code of a function in a browser window.
Through github, there are nice syntax highlighting and search
options.
funSource(someFunction)
tries to find the corresponding
package to the input function.
You can also explicitly request
funSource("somePackage::someFunction")
.
This works even if the package is not installed (in which case you do
need the quotation marks).
In the default browser, it the opens the first link if it exists, the second if not:
somePackage
/blob/master/R/someFunction
.R
(or .r
file)someFunction
function
repo:cran/somePackage
+path:RThe second link is a github search query needed when a function is
defined in a file with a different name.
Functions in the base R packages will be searched in the wch/r-source/src/library
repo.
Currently, the funSource
-initiated github search doesn’t
find names
or dimnames
in base R. Any idea to
solve this kind of limitation is welcome!
funSource
is imported from berryFunctions.
Examples on links opened by funSource
:
Functions in CRAN packages - spatstat::rescale
:
https://github.com/cran/spatstat/blob/master/R/rescale.R
https://github.com/search?q=rescale
function repo:cran/spatstat+path:R
Functions in base packages - graphics::hist
:
https://github.com/wch/r-source/tree/trunk/src/library/graphics/R/hist.R
https://github.com/search?q=hist
function repo:wch/r-source+path:src/library/graphics/R