VS Code R扩展v2.5.0无法格式化R代码提示无格式化程序如何解决
VS Code R扩展v2.5.0格式化功能失效修复
REditorSupport开发的R扩展v2.5.0本身不内置独立格式化模块,依赖本地R环境的languageserver包实现代码缩进格式化,打开RStudio后出现「There is no formatter for 'r' files installed」提示,属于扩展对R路径的识别偶发失效,扩展本身没有损坏,按以下步骤配置即可恢复:
分步修复操作
- 校验R路径配置
打开VS Code设置面板,搜索对应系统的R路径配置项:Windows系统对应R > Rpath: Windows、Mac对应R > Rpath: Mac、Linux对应R > Rpath: Linux,填入本地R可执行文件的完整路径,填完先重启VS Code测试Alt+Shift+F快捷键是否恢复。 - 指定R文件默认格式化器
按Ctrl+Shift+P(Mac系统按Cmd+Shift+P)调出命令面板,输入Preferences: Configure Default Formatter回车,在语言列表选择R,后续弹出的格式化器列表选中R (REditorSupport)即可,不要选择其他无关扩展作为R文件默认格式化器。 - 修复格式化依赖
打开VS Code内置的R终端,运行命令安装格式化依赖的R包:
安装完成后重启VS Code,即可恢复基础格式化能力。install.packages("languageserver") - 排查快捷键冲突
如果快捷键无响应,打开键盘快捷方式设置(快捷键Ctrl+K Ctrl+S),搜索editor.action.formatDocument,确认Alt+Shift+F的作用范围包含R语言文件,没有被其他扩展的同名快捷键覆盖。
永久生效配置
如果需要避免切换其他R相关软件后再次出现识别失效,可以直接打开VS Code的settings.json配置文件,加入以下配置项(注意将R路径替换为本地实际安装路径):
{ "[r]": { "editor.defaultFormatter": "REditorSupport.r", "editor.formatOnSave": false, "editor.tabSize": 2, "editor.insertSpaces": true }, "r.rpath.windows": "C:\\Program Files\\R\\R-4.4.0\\bin\\R.exe", "r.rpath.mac": "/Library/Frameworks/R.framework/Resources/bin/R", "r.rpath.linux": "/usr/bin/R", "r.lsp.enabled": true }
配置保存后重启VS Code,格式化功能就会持续生效,不会因为切换RStudio出现识别失效问题。
内容的提问来源于stack exchange,提问作者Mefitico
相关产品推荐
相关产品推荐

