| Title: | Manage 'RStudio' Preferences and Addin Shortcuts |
| Version: | 0.2.0 |
| Description: | Provides an interface for working with 'RStudio' preference files to modify settings and addin shortcuts without using point-and-click option menus. Useful for ensuring a unified experience across devices and for enforcing best practices. Also exposes some settings not available in the Global Options dialog. |
| License: | GPL (≥ 3) |
| URL: | https://github.com/vdwulp/rstudio.prefs, https://vdwulp.github.io/rstudio.prefs/ |
| BugReports: | https://github.com/vdwulp/rstudio.prefs/issues |
| SystemRequirements: | RStudio (>= 1.3) |
| Depends: | R (≥ 3.5) |
| Imports: | cli (≥ 2.5.0), dplyr (≥ 1.0.6), fs (≥ 1.5.0), jsonlite (≥ 1.7.2), purrr (≥ 0.3.4), rappdirs (≥ 0.3.3), rlang (≥ 0.4.11), rstudioapi (≥ 0.13), rvest (≥ 1.0.0), tibble (≥ 3.1.2) |
| Suggests: | covr (≥ 3.5.1), spelling (≥ 2.2), testthat (≥ 3.0.0), withr (≥ 2.3.0) |
| Config/testthat/edition: | 3 |
| Encoding: | UTF-8 |
| Language: | en-US |
| Config/roxygen2/version: | 8.0.0 |
| Config/roxygen2/markdown: | TRUE |
| NeedsCompilation: | no |
| Packaged: | 2026-08-19 14:14:18 UTC; wulps |
| Author: | S.A. van der Wulp [aut, cre, cph],
Daniel D. Sjoberg |
| Maintainer: | S.A. van der Wulp <vdwulp@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-08-20 05:20:37 UTC |
rstudio.prefs: Manage 'RStudio' Preferences and Addin Shortcuts
Description
Provides an interface for working with 'RStudio' preference files to modify settings and addin shortcuts without using point-and-click option menus. Useful for ensuring a unified experience across devices and for enforcing best practices. Also exposes some settings not available in the Global Options dialog.
Author(s)
Maintainer: S.A. van der Wulp vdwulp@gmail.com [copyright holder]
Authors:
S.A. van der Wulp vdwulp@gmail.com [copyright holder]
Daniel D. Sjoberg danield.sjoberg@gmail.com (ORCID) [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/vdwulp/rstudio.prefs/issues
Check Min RStudio Version
Description
Return error if minimum version requirement not met.
Usage
check_min_rstudio_version(version)
Arguments
version |
string of min required version number |
Value
path string to RStudio rstudio-prefs.json file
Author(s)
Daniel D. Sjoberg
Examples
if (interactive()) {
check_min_rstudio_version()
}
Fetch table of RStudio Preferences
Description
Preferences are fetched from https://docs.posit.co/ide/server-pro/admin/reference/session_user_settings.html
Usage
fetch_rstudio_prefs()
Value
tibble
Details
Only preferences of type "boolean", "string", "number", "integer",
and "array"
are fetched from the table.
TODO: Research how type "object" are passed and include
in the fetched preferences table.
Examples
fetch_rstudio_prefs()
Normalize Path Add-in
Description
Wrapper to execute fs::path_norm() as a shortcut on
highlighted text. The updated text will be converted in place to a path
normalized for the environment currently in use.
For instance, \ or \\ will be converted to / on Windows machines.
See below for process of setting shortcut.
Usage
make_path_norm()
Details
Add keyboard shortcut for make_path_norm() in RStudio, use the
use_rstudio_keyboard_shortcut() function. Do add it manually,
follow the instructions below.
Install rstudio.prefs, and restart RStudio
Select "Tools" –> "Modify Keyboard Shortcuts...".
In Search box, type "Make Path Normal".
Click in the "Shortcut" column on the "Make Path Normal" row.
Press intended shortcut keys (suggested:
Ctrl+Shift+/) to set shortcut.NOTE: It is possible to override a previously specified key combination with this selection.
Value
normalized path string
See Also
Examples
if (interactive()) {
# set a keyboard shortcut for path normalization
rstudio.prefs::use_rstudio_keyboard_shortcut(
"Ctrl+Shift+/" = "rstudio.prefs::make_path_norm"
)
}
Convert secondary repo string to named list
Description
The secondary repo string uses | to separate the repo names and their
values, as well as two different repos, e.g.
'ropensci|https://ropensci.r-universe.dev|ddsjoberg|https://ddsjoberg.r-universe.dev'.
Usage
repo_string_as_named_list(x)
Arguments
x |
secondary repository string from
|
Value
named list
Author(s)
Daniel D. Sjoberg
Examples
repo_string_as_named_list(
'ropensci|https://ropensci.r-universe.dev|ddsjoberg|https://ddsjoberg.r-universe.dev'
)
RStudio Config Path
Description
Copy of the internal function usethis:::rstudio_config_path()
Usage
rstudio_config_path(...)
Arguments
... |
strings added to the RStudio config path |
Value
path string to RStudio rstudio-prefs.json file
Author(s)
Daniel D. Sjoberg
Examples
if (interactive()) {
rstudio_config_path()
}
Set RStudio Keyboard Shortcuts
Description
This function updates the RStudio keyboard shortcuts saved in
the addins.json file.
Usage
use_rstudio_keyboard_shortcut(..., .write_json = TRUE, .backup = TRUE)
Arguments
... |
series of RStudio keyboard shortcuts to update. The argument
name is the keyboard shortcut, and the value is a string of the function
name that will execute, or |
.write_json |
logical indicating whether to update and overwrite
the existing JSON file of options. Default is |
.backup |
logical indicating whether to create a back-up of shortcuts
file before it's updated. Default is |
Value
When .write_json = FALSE, a named list of all shortcuts including
the updates. Otherwise NULL invisibly.
Author(s)
Daniel D. Sjoberg
Examples
# Add a shortcut
use_rstudio_keyboard_shortcut(
"Ctrl+Shift+/" = "rstudio.prefs::make_path_norm"
)
# Remove a shortcut
use_rstudio_keyboard_shortcut(
"Ctrl+Shift+/" = NULL
)
Set RStudio Preferences
Description
This function updates the RStudio preferences saved in
the rstudio-prefs.json file. A full listing of preferences that may be
modified are listed here
https://docs.posit.co/ide/server-pro/admin/reference/session_user_settings.html
Usage
use_rstudio_prefs(...)
Arguments
... |
series of RStudio preferences to update, e.g.
|
Value
Invisibly returns the updated preferences as a named list on success,
or NULL if no updates were made (no changes, user aborted, or not in an
Author(s)
Daniel D. Sjoberg
Examples
# pass preferences individually --------------
use_rstudio_prefs(
always_save_history = FALSE,
rainbow_parentheses = TRUE
)
# pass a list of preferences -----------------
pref_list <-
list(always_save_history = FALSE,
rainbow_parentheses = TRUE)
use_rstudio_prefs(!!!pref_list)
Set RStudio Secondary Repository
Description
This function updates the RStudio preferences saved in
the rstudio-prefs.json file to include the secondary repositories
passed by the user. If a new name for an existing repository is
passed by the user, the name will be updated in the JSON file.
Usage
use_rstudio_secondary_repo(...)
Arguments
... |
series of named secondary repositories, e.g.
|
Details
A note for users outside of the USA.
If the country in .$cran_mirror$country has not been previously recorded
in the JSON preferences file (typically, auto set by RStudio),
the use_rstudio_secondary_repo() function will set "country" = "us".
Value
Invisibly returns the updated cran_mirror preference as a named
list on success, or NULL if no updates were made (no changes, user
aborted, or not in an interactive session).
Author(s)
Daniel D. Sjoberg
Examples
use_rstudio_secondary_repo(
ropensci = "https://ropensci.r-universe.dev",
ddsjoberg = "https://ddsjoberg.r-universe.dev"
)