vscode-R: Send code to terminal by `Ctrl + ENTER` but don't run
Describe the bug
When I send code to terminal by Ctrl + ENTER, it just send code but don’t run code, and we should move focus to terminal and input ENTER manually to run the code.
To Reproduce Steps to reproduce the behavior:
- create a terminal
- run this code below:
library(IlluminaHumanMethylation450kanno.ilmn12.hg19)
## sorry for this, I have tried other code which don't rely on any package data to reproduce this problem but it failed.
## this package is from bioconductor
## so we should install it by BiocManager::install("IlluminaHumanMethylation450kanno.ilmn12.hg19")
library(tidyverse)
After loading packages, try this code below several times, the frequency of problem is almost 1/2, so it won’t be hard to reproduce this problems
probe_with_one_more_gene <- Other$UCSC_RefGene_Name %>%
purrr::map(~ unique(str_split(., pattern = ";")[[1]])) %>%
purrr::map_lgl(
~ length(.) >= 2
) %>%
{ # nolint
rownames(Other)[.]
}
- See error (it seems vscode-r just run code before line
rownames(Other)[.]and after code wasn’t run, as we could see a character+after the linerownames(Other)[.]which indicates the line before should have been run.)
if we don’t run it manully, we can even delete code like this.

The problems only occured in radian terminal no matter I turn on or off r.bracketedPaste setting. the code run by raw r terminal is like this which looks like raw r terminal run code line by line as indicated by the character +.

Do you want to fix by self? (We hope your help!)
Yes, I want to be helpful.
(If yes,) what kind of help do you want? (e.g. Which file should I fix, Survey (related documents)
(If related)setting.json
"[r]": {
"editor.rulers": [
80
],
"editor.wordWrap": "bounded",
"editor.wordSeparators": "`~!@#%$^&*()-=+[{]}\\|;:'\",<>/?",
"rewrap.autoWrap.enabled": true,
"rewrap.wrappingColumn": 80,
"rewrap.doubleSentenceSpacing": true
},
"r.alwaysUseActiveTerminal": true,
// "r.bracketedPaste": true,
"r.rpath.windows": "C:\\Yun\\R\\R-4.1.1\\bin\\x64\\R.exe",
"r.rterm.windows": "C:\\Users\\****\\AppData\\Local\\Programs\\Python\\Python39\\Scripts\\radian.exe",
// "r.rterm.windows": "C:\\Yun\\R\\R-4.1.1\\bin\\x64\\Rterm.exe",
"r.rterm.option": [
"--no-save",
"--no-restore",
"--local-history",
"--r-binary=C:\\Yun\\R\\R-4.1.1\\bin\\x64\\R.exe"
],
"r.plot.useHttpgd": true,
"r.session.levelOfObjectDetail": "Detailed",
"r.session.objectLengthLimit": 100,
"r.session.viewers.viewColumn": {
"plot": "Active",
"viewer": "Active",
"view": "Active",
"helpPanel": "Active"
}
Expected behavior
Run code directly when sending code by typing Ctrl + ENTER
Environment (please complete the following information):
- OS: Windows 19042.1237
- VSCode Version: 1.61.0
- R Version: 4.1.1
- vscode-R version: v2.3.1
Additional context
If we could run code line by line like raw r terminal when sending code?
About this issue
- Original URL
- State: open
- Created 3 years ago
- Reactions: 2
- Comments: 45 (39 by maintainers)
I finally found a nice way to use
vscode-rwithradianin windows. I Just post it here in case some windows users may have been confused of the conjunction of the both (vscode-randradian).Problems and solutions are as follows:
The first one:
Problem 1: there will be exceeding
bracketsoccasionally when we sending code to the terminal. Solution 1: turn off the optionradian.auto_matchofradianin the.radian_profileThe second one:
Problem 2: The code sending to
radianterminal from the editor by inputtingENTER+CTRLwill not be run, which we need implement it manually in the terminal panel by inputtingENTER. Solution 2: Firstly, we should install another extension (multi-command), then, override theENTER+CTRLkeyboard with following keybindings setting invscode:Finally, we need turn off the option
r.bracketedPasteofvscode-r, which is opposite to what is suggested in thevscode-rmanual. I have tried several times which confirmed that above setting would only work by turning off this option.I’m still having this issue, even after trying the
radian.auto_matchfix. My issue at the moment is not even it adding it in the end of the block of code in the terminal. Now it seems to add random } in the middle of the code, causing it to break and spitting errrs like: “Error: unexpected ‘}’ in “}””, but at least it seems to auto-run the code when using Ctrl+Enter.Looking at the code inputed in the terminal, it seems the code block is being split at some random point and that causes the error. As you can see in this picture, the code was running and then it stopped, gave the error, and continued in a new command input.
I’ve been giving this a shot for a while and at least for me it doesn’t seem to be a working fix. I don’t seem to get the extraneous characters at the end of things anymore but large ctrl+enter blocks will still “break” part way through and turn into colorless unformatted input, and I still have to switch focus to the console and manually hit enter quite often.
Hi everyone. I think I encountered the same problem a while ago and I believe adding
options(radian.auto_match = FALSE)to my.Rprofilefixed it for me.