Add to keybindings.json
:
[ { "key": "alt+-", "command": "type", "when": "editorLangId == r && editorTextFocus || editorLangId == rmd && editorTextFocus", // if you want using quarto, try this // "when": "editorLangId =~ /r|rmd|qmd/ && editorTextFocus", "args": {"text": " <- "} }, { "key": "ctrl+shift+m", "command": "type", "when": "editorLangId == r && editorTextFocus || editorLangId == rmd && editorTextFocus", "args": {"text": " %>% "} }, { "key": "ctrl+shift+m", "command": "-workbench.actions.view.problems" }, // input indicative of r markdown code chunk { "key": "ctrl+shift+i", "command": "editor.action.insertSnippet", "when": "editorTextFocus && editorLangId == 'rmd'", "args": { "snippet": "```{r}\n${TM_SELECTED_TEXT}$0\n```" }, "label": "input indicative of r markdown code chunk" }, // you can also input indicative of code chunk in `r` file by inserting "# %% ": // specifics in `https://github.com/REditorSupport/vscode-R/pull/662` { "key": "ctrl+shift+i", "command": "editor.action.insertSnippet", "when": "editorTextFocus && editorLangId == 'r'", "args": { "snippet": "$LINE_COMMENT %% " }, "label": "input indicative of code chunk" }, // open help panel for selection { "key": "f1", "command": "r.helpPanel.openForSelection", "when": "editorTextFocus && editorLangId == 'r' || editorTextFocus && editorLangId == 'rmd'" }, // read yaml header parameters into `params` when editing an Rmarkdown file { "key": "ctrl+shift+p", "command": "r.runCommandWithEditorPath", "args": "params <- rmarkdown::yaml_front_matter(\"$$\")$params |> lapply(\\(x) if (is.list(x)) x$value else x)", "when": "editorTextFocus && editorLangId == 'rmd'" }, // RStudio keybinding for R Package development { "key": "ctrl+shift+b", "command": "r.install", "when": "resourceLangId == 'r'" }, { "key": "ctrl+shift+e", "command": "r.check", "when": "resourceLangId == 'r'" }, { "key": "ctrl+shift+t", "command": "r.test", "when": "resourceLangId == 'r'" }, { "key": "ctrl+shift+d", "command": "r.document", "when": "resourceLangId == 'r'" }, { "key": "ctrl+shift+l", "command": "r.loadAll", "when": "resourceLangId == 'r'" }, { "key": "ctrl+alt+p", "command": "r.runCommand", "when": "editorTextFocus && editorLangId == 'r'", "args": ".vsc.browser(httpgd::hgd_url(), viewer = \"Beside\")" } ]Removed keyboard shortcuts
These keyboard shortcuts used to be set by this extension, but were removed because they conflicted with default Visual Studio Code shortcuts. If you would like to restore them, add these to keybindings.json
:
[ { "command": "r.nrow", "key": "Ctrl+1", "when": "editorTextFocus && editorLangId == 'r'" }, { "command": "r.length", "key": "Ctrl+2", "when": "editorTextFocus && editorLangId == 'r'" }, { "command": "r.head", "key": "Ctrl+3", "when": "editorTextFocus && editorLangId == 'r'" }, { "command": "r.thead", "key": "Ctrl+4", "when": "editorTextFocus && editorLangId == 'r'" }, { "command": "r.names", "key": "Ctrl+5", "when": "editorTextFocus && editorLangId == 'r'" } ]Creating keybindings for R commands
There are 3 ways you can use extension functions to create keybindings that run R commands in the terminal:
r.runCommand
to make a keybinding to run any R expression.r.runCommandWithEditorPath
to create a keybinding for an R expression where the placeholder value $$
is interpolated with the current file path.runCommandWithSelectionOrWord
to create a keybinding for an R expression where $$
is interpolated with the current selection or the current word the cursor is on.Here are some example entries from keybindings.json
:
[ { "description": "run drake::r_make()", "key": "ctrl+;", "command": "r.runCommand", "when": "editorTextFocus", "args": "drake::r_make()" }, { "description": "load drake target at cursor", "key": "ctrl+shift+;", "command": "r.runCommandWithSelectionOrWord", "when": "editorTextFocus", "args": "drake::loadd($$)" }, { "description": "knit to html", "key": "ctrl+i", "command": "r.runCommandWithEditorPath", "when": "editorTextFocus", "args": "rmarkdown::render(\"$$\", output_format = rmarkdown::html_document(), output_dir = \".\", clean = TRUE)" } ]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4