Title: Set 'RStudio' Preferences
Version: 0.1.9
Description: As of 'RStudio' v1.3, the preferences in the Global Options dialog (and a number of other preferences that aren’t) are now saved in simple, plain-text JSON files. This package provides an interface for working with these 'RStudio' JSON preference files to easily make modifications without using the point-and-click option menus. This is particularly helpful when working on teams to ensure a unified experience across machines and utilizing settings for best practices.
License: GPL (≥ 3)
URL: https://github.com/ddsjoberg/rstudio.prefs, https://www.danieldsjoberg.com/rstudio.prefs/index.html
BugReports: https://github.com/ddsjoberg/rstudio.prefs/issues
Depends: R (≥ 3.4)
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)
Config/testthat/edition: 3
Encoding: UTF-8
Language: en-US
RoxygenNote: 7.2.0
NeedsCompilation: no
Packaged: 2022-07-16 12:57:45 UTC; SjobergD
Author: Daniel D. Sjoberg ORCID iD [aut, cre, cph]
Maintainer: Daniel D. Sjoberg <danield.sjoberg@gmail.com>
Repository: CRAN
Date/Publication: 2022-07-16 13:10:02 UTC

rstudio.prefs: Set 'RStudio' Preferences

Description

As of 'RStudio' v1.3, the preferences in the Global Options dialog (and a number of other preferences that aren’t) are now saved in simple, plain-text JSON files. This package provides an interface for working with these 'RStudio' JSON preference files to easily make modifications without using the point-and-click option menus. This is particularly helpful when working on teams to ensure a unified experience across machines and utilizing settings for best practices.

Author(s)

Maintainer: Daniel D. Sjoberg danield.sjoberg@gmail.com (ORCID) [copyright holder]

See Also

Useful links:


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.rstudio.com/ide/server-pro/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.

Value

normalized path string

See Also

fs::path_norm

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 "rstudio-prefs.json" –> "cran_mirror" –> "secondary"

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. See examples.

.write_json

logical indicating whether to update and overwrite the existing JSON file of options. Default is TRUE. When FALSE, the function will return a list of all options, instead of writing them to file.

.backup

logical indicating whether to create a back-up of preferences file before it's updated. Default is TRUE

Value

NULL, updates RStudio addins.json file

Author(s)

Daniel D. Sjoberg

Examples


use_rstudio_keyboard_shortcut(
  "Ctrl+Shift+/" = "rstudio.prefs::make_path_norm"
)


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.rstudio.com/ide/server-pro/session-user-settings.html

Usage

use_rstudio_prefs(...)

Arguments

...

series of RStudio preferences to update, e.g. ⁠always_save_history = FALSE, rainbow_parentheses = TRUE⁠

Value

NULL, updates RStudio rstudio-prefs.json file

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 my 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. ropensci = "https://ropensci.r-universe.dev"

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

NULL, updates RStudio rstudio-prefs.json file

Author(s)

Daniel D. Sjoberg

Examples


use_rstudio_secondary_repo(
  ropensci = "https://ropensci.r-universe.dev",
  ddsjoberg = "https://ddsjoberg.r-universe.dev"
)