Safely access RStudio's API (when available)
Latest commit 109e593 Dec 19, 2017
kevinushey Merge pull request #77 from AshesITR/patch-1
Actually fix getSourceEditorContext()


Travis-CI Build Status

The rstudioapi package is designed to make it easy to conditionally access the RStudio API from CRAN packages, avoiding any potential problems with R CMD check. This package contains a handful of useful wrapper functions to access the API. To see the functions that are currently available in the API, run help(package = "rstudioapi")

Example uses

# rstudioapi is designed to never be attached to your search path.
# Always prefix function calls with rstudioapi::

# Returns T/F
# Returns error if not available

# Optional argument allows you to specify version requirement

# Call an rstudio function
rstudioapi::callFun("viewer", "http://localhost:8080")

# This will raise an error if rstudio is not running, or the function
# is not found. To run a different function if it's not available,
# use exists
if (rstudioapi::hasFun("viewer")) {
  rstudioapi::callFun("viewer", "http://localhost:8080")
} else {

# You can use find to get the function. Throws an error if the function
# does not exist.

# You can also check version in exists and find
rstudioapi::findFun("viewer", 0.99)
rstudioapi::hasFun("viewer", 0.99)


  • Install the development version with devtools::install_github("rstudio/rstudioapi").