如何修改VS Code的自动格式化规则以满足R代码自定义需求
VS Code R代码格式化规则修改方法
VS Code的R扩展默认调用R生态的styler包执行格式化,你需要的单行if {...} else {...}保留规则可以通过给格式化工具传自定义参数实现,具体操作如下:
- 方法1:全局配置保留单行代码块
打开VS Code设置页面,搜索R > Formatting: Options,点击「编辑settings.json」,添加如下配置:
该参数会让"r.formatting.options": { "keep_single_line_blocks": true }styler保留已写成单行的代码块,不会强制拆分为多行。如果需要调整其他格式化规则,可直接在该配置项中添加styler支持的参数,比如indent_by调整缩进字符数、line_length调整自动换行的长度阈值。 - 方法2:针对特定代码段跳过格式化
如果你仅需要部分单行代码不被自动调整,可以在对应代码前后添加注释标记,格式化工具会跳过这段内容:# styler: off if (x > 0) res <- 1 else res <- -1 # styler: on - 如果你使用旧版R扩展默认的
formatR作为格式化后端,修改规则方式如下:
同样在settings.json的r.formatting.options中添加配置即可:"r.formatting.options": { "brace.newline": false, "keep.blank.line": true }
修改配置后重启当前R会话,新规则就会生效,之后按shift+alt+F触发格式化就会符合需求。
内容的提问来源于stack exchange,提问作者Miles N.
相关产品推荐
相关产品推荐

