Skip to contents

Convert Visual Studio Code/Positron and TextMate themes into RStudio custom themes.

This package provides tools to easily convert Visual Studio Code/Positron and TextMate theme files (.json and .tmTheme formats) into RStudio-compatible .rstheme files. RStudio has supported custom themes in .rstheme format since version 1.2+.

Features

  • Convert Visual Studio Code/Positron and TextMate themes into RStudio .rstheme format.
  • Bidirectional conversion between Visual Studio Code/Positron and TextMate themes.
  • Includes ports of popular Visual Studio Code/Positron themes ready to use in RStudio.
  • Organize and manage custom themes in a reproducible way.
  • Integrates with R tooling for easier installation and testing.

Built-in themes

This package includes ports of several popular Visual Studio Code/Positron themes, ready to use in RStudio. Simply use the install_rstudiothemes() function to install them into your RStudio environment:

rstudiothemes::install_rstudiothemes()

#> ✔ Installed 30 themes
#> ℹ Use `rstudiothemes::list_rstudiothemes()` to list installed themes
#> ℹ Use `rstudiothemes::try_rstudiothemes()` to try all installed themes

rstudioapi::applyTheme("Winter is Coming Dark Blue")

Screenshot of theme Winter is Coming Dark Blue

Available themes include popular choices such as Tokyo Night, Night Owl, Winter is Coming, SynthWave 84, Nord, and many others:

rstudiothemes::list_rstudiothemes(list_installed = FALSE)
#>  [1] "ayu Dark"                   "ayu Light"                 
#>  [3] "Catppuccin Latte"           "Catppuccin Mocha"          
#>  [5] "cobalt2"                    "CRAN"                      
#>  [7] "Dracula2025"                "GitHub Dark"               
#>  [9] "GitHub Light"               "JellyFish Theme"           
#> [11] "Matcha"                     "Matrix"                    
#> [13] "Night Owl"                  "Night Owl Light"           
#> [15] "Nord"                       "OKSolar Dark"              
#> [17] "OKSolar Light"              "OKSolar Sky"               
#> [19] "Overflow Dark"              "Overflow Light"            
#> [21] "Panda Syntax"               "Selenized Dark"            
#> [23] "Selenized Light"            "Skeletor Syntax"           
#> [25] "SynthWave 84"               "Tokio Night Dark"          
#> [27] "Tokyo Night Light"          "Tokyo Night Storm"         
#> [29] "Winter is Coming Dark Blue" "Winter is Coming Light"

We also distribute all our themes in a single .zip file at https://dieghernan.github.io/rstudiothemes/dist/rstudiothemes.zip. Unzip and install using the RStudio IDE interface.

Installation

You can install rstudiothemes using either of these methods:

# install.packages("pak")
pak::pak("dieghernan/rstudiothemes")

Or, install it from r-universe:

# Install rstudiothemes in R:
install.packages(
  "rstudiothemes",
  repos = c(
    "https://dieghernan.r-universe.dev",
    "https://cloud.r-project.org"
  )
)

Migrating an existing theme

You can convert any Visual Studio Code/Positron or TextMate theme to RStudio format. Here’s how:

  1. Use your favorite Visual Studio Code/Positron or TextMate theme file or the URL of an online theme.
  2. Use the convert_to_rstudio_theme() function to convert and install it:
rstudiothemes::convert_to_rstudio_theme(
  "<path/to/file>",
  apply = TRUE,
  force = TRUE
)

Alternatively, install the .rstheme file via the RStudio UI:

Tools > Global Options > Appearance > Add

Bidirectional conversion Visual Studio Code/Positron - TextMate

The package also includes the conversion functions convert_vs_to_tm_theme() and convert_tm_to_vs_theme(), allowing you to convert themes in both directions if needed.

Creating themes from scratch

rstudiothemes does not provide a built-in theme editor, but you can create your own themes from scratch using the following tools:

Contributing

Contributions are welcome! To contribute to this project:

  1. Open an issue to discuss your ideas or proposed changes.
  2. Fork the repository and create a feature branch.
  3. Submit a pull request with clear commit messages and descriptions.