This gives you a unique working environment on your Laptop and in GitHub Code Spaces (and similar environments and editors).
-
Install Docker
a. on Windows only: Install WSL
-
Install VSCode
-
Install the VSCode extension
Remote Development
- In VSCode open a new terminal.
- Run the following command in the terminal.
docker pull ghcr.io/dxiai/r-devcontainer:latest - Open the project of your choice or start a new project.
- Place the following json into the
.devcontainer/devcontainer.jsonfile within your project.
{
"image":"ghcr.io/dxiai/r-devcontainer:latest",
"customizations": {
"vscode": {
"extensions": [
"reditorsupport.r",
"reditorsupport.r-syntax",
"janisdd.vscode-edit-csv",
"mechatroner.rainbow-csv",
"redhat.vscode-yaml"
],
"settings": {
"r.rterm.linux": "/usr/local/bin/radian",
"r.bracketedPaste": true,
"workbench.editor.tabActionReserveSpace": true,
"editor.tabSize": 4
}
}
}
}- Click on the double arrows in the bottom left corner of VSCode.
- Select
Reopen in Container. - Be patient, this takes up to five minutes on first startup.
- Check that there is a green label stating
Dev Container @ desktop-linuxin the bottom left corner of VSCode. - DO NOT add the
.devcontainerfolder to your.gitignorelist and track it with your project.
This container comes with languageserver, httpgd, and radian preinstalled for a modern deep VSCode integration.
pak is preinstalled and replaces the old install_packages() function.
Directly installed:
- tidyverse
- rstatix
All packages:
- abind
- AsioHeaders
- askpass
- backports
- base64enc
- bit
- bit64
- blob
- brew
- broom
- bslib
- cachem
- callr
- car
- carData
- cellranger
- cli
- clipr
- collections
- colorspace
- commonmark
- conflicted
- corrplot
- cowplot
- cpp11
- crayon
- curl
- data.table
- DBI
- dbplyr
- Deriv
- desc
- digest
- doBy
- dplyr
- dtplyr
- evaluate
- farver
- fastmap
- fontawesome
- forcats
- forecast
- Formula
- fracdiff
- fs
- gargle
- generics
- ggplot2
- glue
- googledrive
- googlesheets4
- gtable
- haven
- highr
- hms
- htmltools
- httpgd
- httr
- ids
- isoband
- jquerylib
- jsonlite
- knitr
- labeling
- languageserver
- lifecycle
- lintr
- lme4
- lmtest
- lubridate
- magrittr
- MatrixModels
- memoise
- mime
- minqa
- modelr
- nloptr
- numDeriv
- openssl
- otel
- pak
- pbkrtest
- pillar
- pkgbuild
- pkgconfig
- pkgload
- prettyunits
- processx
- progress
- ps
- purrr
- quantreg
- R.cache
- R.methodsS3
- R.oo
- R.utils
- R6
- ragg
- rappdirs
- rbibutils
- RColorBrewer
- Rcpp
- RcppArmadillo
- RcppEigen
- Rdpack
- rdtools
- readr
- readxl
- reformulas
- rematch
- rematch2
- reprex
- rex
- rlang
- rmarkdown
- roxygen2
- rprojroot
- rstatix
- rstudioapi
- rvest
- S7
- sass
- scales
- selectr
- SparseM
- stringi
- stringr
- styler
- sys
- systemfonts
- textshaping
- tibble
- tidyr
- tidyselect
- tidyverse
- timechange
- timeDate
- tinytex
- tzdb
- unigd
- urca
- utf8
- uuid
- vctrs
- viridisLite
- vroom
- withr
- xfun
- xml2
- xmlparsedata
- yaml
- zoo