R-Code in RStudio automatisch formatieren


71

Gibt es in RStudio Möglichkeiten zum automatischen Formatieren von Code?

Ich fand diese , aber es ist nicht mit RStudio verbunden.

Es ist auch wünschenswert, dass die Formatierung anpassbar ist.

Antworten:


61

Update: 22. Juni 2008

Vielen Dank an Lorenz @ kirill @ yuhi für das styler Paket . Ich habe es für eine Weile benutzt. Am einfachsten ist es nach der Installation des Pakets, es einfach zu verwenden

scrollen zu Addin --> style active file

Anpassungsoptionen über die Benutzeroberfläche geben eine gewisse Kontrolle über das von uns bevorzugte Styling.

Rstudio kann jetzt Code so formatieren, dass er ordentlich aussieht. Wählen Sie die gewünschten Zeilen aus und navigieren Sie zu Code>> Reformat codeoder verwenden Sie die Tastenkombination Ctrl+ Shift+ A.

Update : Dies ist eine gute Möglichkeit, den Code neu zu strukturieren, aber er bricht,für die Elemente eines Vektors ab. Für wenige ist dies in Ordnung, aber mit vielen Elementen, die an einen Vektor übergeben werden, ist es übertrieben:

x <- c(
  "p.G12C",
  "p.F121S",
  "p.P124S",
  "p.P124L",
  "p.E13D",
  "p.E203K",
  "p.Q209P",
  "p.Q209P",
  "p.Q209L"
)

Update: R-Studio Version 0.99.893

Es gibt eine neue Funktion, die von R-Studio hinzugefügt wurde Addins. Als Teil dieser Addins können Sie jetzt @yuhi formatR als Addin hinzufügen. Dies ist eine ordentlichere und sauberere Art, Code zu strukturieren als die integrierte code >> Refromat code. Der Nachteil des Addins ist Reformat R Codejedoch ein Fehler für Rshiny-Codes.



31

Gehen Sie zum CodeMenü und wählen Sie

Reindent Lines

Unter meinem Betriebssystem hat dies die Verknüpfung Ctrl+ I.


1
Natürlich gibt es eine Verknüpfung, ich habe "Ausschneiden" und "Einfügen" verwendet, um neu zu formatieren ...
zx8754

24

Der Paketstyler kann R-Code formatieren und Sie können über ein RStudio-Add-In darauf zugreifen, mit dem Sie die aktive Datei, den hervorgehobenen Code, das Paket und mehr formatieren können. Ein Unterscheidungsmerkmal ist seine Flexibilität, da die Transformation von Code gemäß einem Styleguide getrennt von der Angabe des Styleguides erfolgt. Dies ermöglicht das Styling gemäß einem beliebigen Styleguide. Ab Version 1.2.0 gilt dies auch für das Addin.

Wir haben den tidyverse Style Guide implementiert und gleichzeitig eine gewisse Flexibilität beim Styling ermöglicht. Auch die Pipe, die Tidyeval-Syntax und mehr werden ordnungsgemäß behandelt. Sie können eine Einführung in diesem Blog-Beitrag lesen .

Wenn Sie dem tidyverse Style Guide nicht folgen möchten, können Sie sich die Vignette 'Customizing Styler' ansehen, in der beschrieben wird, wie Sie einen beliebigen Style Guide implementieren können. In dieser Vignette zeige ich, wie Sie einen Styleguide implementieren können, der aus einer Regel besteht: Brechen Sie immer vorher die Linie {. Hoffentlich hilft das.

Offenlegung: Ich bin der Betreuer von Styler.


13
#use the library "formatR"

install.packages("formatR")

library(formatR)

# tidy_eval("file path")
tidy_eval("C:/Users/PC_name/Desktop/myfile.R")

Wie ist dies mit der stylereingebauten Methode von rstudio zu vergleichen?
Garini

{formatR}im Vergleich zu {styler}ist schneller, kann aber nicht den gesamten Code analysieren, löscht manchmal Kommentare, Handles %>%und !!(!)unerwartet und einige andere Dinge, die hier zusammengefasst sind: github.com/r-lib/styler/issues/558#issuecomment-542883365
Lorenz Walthert
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.