VS Code向R发送选中代码时出现命令篡改问题该如何解决?
VS Code运行R代码按Shift+Enter后代码被篡改的解决方案
该问题为R扩展默认开启的*括号粘贴(Bracketed Paste)*功能和当前终端环境不兼容导致。该功能用于避免粘贴多行代码时出现执行异常,当环境不兼容时,功能对应的控制字符会被直接作为代码内容传递给R解析器,就会出现代码前后多余00~、01~字符的报错。
解决步骤
- 关闭R扩展的括号粘贴配置
打开VS Code设置界面(快捷键Ctrl+,/Cmd+,),搜索r.bracketedPaste,取消该选项的勾选,关闭当前已打开的R终端后重新启动测试,绝大多数该类问题都可通过该操作修复。 - 排查自定义R终端路径问题
若第一步操作后问题仍存在,搜索设置项r.terminalPath,清空该选项的自定义配置,使用VS Code自动识别的默认R路径重试,排除自定义终端的兼容性问题。 - 排查扩展冲突
若安装了VSCodeVim类编辑器扩展,搜索设置项vim.enableBracketedPaste,关闭该配置后重试;也可临时禁用所有非必要的R相关扩展,仅保留官方R扩展后重启测试。
其他语言运行无异常是因为对应语言的代码运行逻辑默认未开启括号粘贴功能,因此不会触发该类兼容性问题。
内容的提问来源于stack exchange,提问作者Roger J Bos CFA
相关产品推荐
相关产品推荐

