mid*_*das 52 r autoformatting rstudio
是否有可能在RStudio中自动格式化代码?
我发现了这个,但它没有与RStudio连接.
还希望它是可定制的格式.
use*_*203 48
更新:6月22日至2018年
感谢@ Lorenz @ kirill @ yuhi的styler 包裹.我已经用了一段时间了.安装包后最简单的就是使用
滚动到 Addin --> style active file
通过界面定制选项可以控制我们喜欢的样式.
Rstudio现在可以将代码格式化为整洁.选择感兴趣的行,然后导航到Code>> Reformat code或使用键盘快捷键ctrl + shift + A.
更新:这是重新构造代码的好方法,但是它会,针对向量的元素进行分解.对于少数人来说这没关系,但是有很多元素传递给了一个向量,这是过度的:
x <- c(
"p.G12C",
"p.F121S",
"p.P124S",
"p.P124L",
"p.E13D",
"p.E203K",
"p.Q209P",
"p.Q209P",
"p.Q209L"
)
Run Code Online (Sandbox Code Playgroud)
更新:R-Studio版本0.99.893
R-studio增加了一项新功能Addins.这个插件的一部分,现在你可以添加@yuhi formatR作为插件.这比构建代码更加整洁,更简洁code >> Refromat code.但是,Addin的缺点Reformat R Code是抛出了Rshiny代码的错误.
csg*_*pie 28
转到Code菜单并选择
Reindent Lines
在我的操作系统下,这有快捷键Ctrl+ I.
Lor*_*ert 13
包样式器可以格式化R代码,您可以通过RStudio Addin访问它,允许格式化活动文件,突出显示的代码,包等.一个显着特点是它的灵活性,因为根据样式指南的代码转换与指定样式指南分开进行.这允许根据任意样式指南进行样式化.
我们已经实现了tidyverse风格指南,同时在样式上提供了相当大的灵活性.此外,正确处理管道,tidyeval语法等.您可以在此博客文章中阅读介绍.
如果您不想遵循tidyverse样式指南,可以查看插图"Customizing Styler",它描述了如何实现任意样式指南.在这个小插图中,我展示了如何实现由一个规则组成的样式指南:始终打破该行{.希望有所帮助.
披露:我是styler的维护者.
Ash*_*ish 10
#use the library "formatR"
install.packages("formatR")
library(formatR)
# tidy_eval("file path")
tidy_eval("C:/Users/PC_name/Desktop/myfile.R")
Run Code Online (Sandbox Code Playgroud)
小智 7
添加到已经给出的很好的答案:您可以将该包与shrtctsstyler包结合使用来启用“保存时格式化”,但RStudio 尚未正式支持该功能。
使用 RStudio 控制台中的命令shrtcts::edit_shortcuts()打开您在其中定义自定义快捷方式的文件。
将以下代码粘贴到该文件中(在行中设置您的首选键绑定@shortcut)。
#' Format on Save
#'
#' @description
#' Format Document with styler Package and Save Document.
#' @interactive
#' @shortcut Cmd+S
function() {
# format only .R and .Rmd files, but save all file types
file_type <- tools::file_ext(rstudioapi::getActiveDocumentContext()$path)
if (file_type %in% c("R", "Rmd", "qmd")) {
styler:::style_active_file() |>
capture.output() |>
invisible()
}
rstudioapi::documentSave() |>
capture.output() |>
invisible()
}
Run Code Online (Sandbox Code Playgroud)
该解决方案使用本机管道|>,因此需要R 4.1. 当然,您可以在每一行中定义单独的变量,或者 magrittr如果您使用早期版本的R.
使用 RStudio 控制台中的命令shrtcts::add_rstudio_shortcuts(set_keyboard_shortcuts = TRUE)添加新快捷方式及其分配的键绑定。然后重新启动 RStudio。
通过此配置,按下将Cmd+S活动文件.R或.Rmd文档与styler包一起格式化,然后保存格式化的版本。.md所有其他类型的文件都在不格式化的情况下保存,但是您可以使用格式化例如或文件的包轻松扩展上面的代码.py。
存在这种方法代码没有达到预期效果的情况,例如,它不适用于新Untitled文件或当前R会话繁忙时。