Warum diesen Rust-Formatierer verwenden
- rustfmt-Stil-Formatierung für idiomatischen Rust-Code
- Anpassbare Einrückungsgröße und maximale Zeilenbreite (Wrap-Spalte)
- Idempotente Formatierung – erneutes Formatieren derselben Datei ergibt dasselbe Ergebnis
- Nur Layout-Änderungen: Einrückungen, Abstände und Zeilenumbrüche, keine Logik
- Funktioniert hervorragend mit eigenständigen `.rs`-Dateien und Crate-Modulen
- Code wird über ein sicheres Formatierungs-Backend verarbeitet – keine öffentliche Freigabe oder Indizierung
- Reaktionsfähige Oberfläche, die gut mit dunklen/hellen Editor-Themes harmoniert
🛠️ So formatieren Sie Rust-Code online for rust-formatter
1. Fügen Sie Ihren Rust-Code ein oder laden Sie ihn hoch
📥 Fügen Sie Ihren Rust-Code in den Editor ein oder ziehen Sie eine `.rs`-Datei aus Ihrem Projekt per Drag-and-Drop hinein. Das Tool erkennt die Rust-Syntax und hebt sie zur einfacheren Überprüfung hervor.
2. Passen Sie Einzug und Zeilenlänge an
📏 Verwenden Sie das Optionsfeld, um Ihre **Einzugsgröße** (z.B. 2 oder 4 Leerzeichen) und **Zeilenumbruch-Länge** (für lange Ketten oder komplexe Ausdrücke) auszuwählen. Setzen Sie den Umbruch auf `0`, wenn Sie bestehende Zeilenbreiten beibehalten möchten.
3. Klicken Sie auf "Formatieren"
🚀 Drücken Sie die **Formatieren**-Schaltfläche. Ihr Code wird an einen rustfmt-artigen Formatierer gesendet, der Einrückung, Leerzeichen, Leerzeilen und Umbrüche normalisiert, ohne das Verhalten zu ändern.
4. Überprüfen, kopieren oder herunterladen
📤 Vergleichen Sie Vorher/Nachher, kopieren Sie dann den formatierten Code zurück in Ihren Editor oder laden Sie das Ergebnis als `.rs`-Datei herunter. Bereit für `cargo build`, `cargo test` und Code-Review.
Technische Spezifikationen
Formatierungs-Engine & Stil
Der Formatierer folgt dem rustfmt-artigen, meinungsbasierten Formatieren, sodass Ihr Code wie idiomatischer Rust-Code über Dateien und Mitwirkende hinweg aussieht.
| Aspekt | Verhalten | Hinweise |
|---|---|---|
| Einrückung | Konfigurierbar, typischerweise 2–4 Leerzeichen pro Ebene | Tabs werden in Leerzeichen normalisiert, um dem gängigen Rust-Stil in vielen Projekten zu entsprechen. |
| Klammern & Blöcke | Konsistente Platzierung und Einrückung für `fn`, `impl`, `match`, `if`, `loop`… | Hilft, verschachtelte Kontrollstrukturen und Match-Ausdrücke lesbar zu halten. |
| Abstände | Beseitigt überflüssige Leerzeichen um Operatoren und Satzzeichen | Standardisiert Abstände bei `let`, `match`, Closures und Generics. |
| Leerzeilen | Zwischen Elementen normalisiert (Funktionen, Structs, Impl-Blöcke) | Verbessert die visuelle Trennung von Modulen und API-Oberflächen. |
| Idempotenz | Gleiche Eingabe → gleiche Ausgabe, wenn bereits formatiert | Das erneute Ausführen des Formatierers ist immer sicher und stabil. |
Einrückungsgröße & Zeilenumbruch
Sie können die Einrückungsbreite und den Umbruch an die Konventionen Ihres Teams anpassen.
| Einstellung | Wertebereich | Auswirkung |
|---|---|---|
| indentSize | 1–8 Leerzeichen | Steuert, wie viel Einrückung jeder verschachtelte Block hinzufügt. |
| wrapLineLength = 0 | Kein zeilenlängenbasierter Umbruch | Behält Ihre vorhandene Zeilenbreite bei (nützlich für schnelle Überarbeitungen). |
| wrapLineLength = 80–100 | Typische Rust-Team-Präferenzen | Hält den Code kompakt und dabei gut lesbar. |
| wrapLineLength = 101–120 | Lockereres Layout | Gut für Ultrabreitbildmonitore oder explorativen Code. |
Unterstützte Eingaben & Grenzen
Entwickelt für alltägliche Rust-Entwicklungsworkflows.
| Parameter | Grenze / Verhalten | Hinweise |
|---|---|---|
| Dateierweiterungen | .rs | Quelldateien für Crates, Binärdateien, Module und Beispiele. |
| MIME-Typen | text/x-rustsrc | Wird intern für Syntaxhervorhebung und Editor-Modus verwendet. |
| Maximale Eingabegröße | ≈ 2 MB Rust-Quellcode | Extrem große oder generierte Dateien werden besser über `cargo fmt` auf Ihrem Rechner verarbeitet. |
| Kodierung | UTF-8 empfohlen | Nicht-UTF-8-Eingaben sollten vor der Formatierung konvertiert werden. |
Ausführung & Sicherheit
Die Formatierung wird auf einem gesicherten Backend mit einem Rust-kompatiblen Formatierer ausgeführt.
| Aspekt | Verhalten | Hinweise |
|---|---|---|
| Transport | HTTPS-Anfragen an die Formatierungs-API | Ihr Code wird sicher übertragen und nicht öffentlich preisgegeben. |
| Timeout | ~25 Sekunden pro Anfrage | Verhindert außer Kontrolle geratene Jobs bei extremen oder fehlerhaften Eingaben. |
| Semantik | Nur Layout-Transformationen | Ihre Logik bleibt gleich; nur Leerzeichen und Layout werden geändert. |
rustfmt & cargo fmt CLI-Beispiele
Möchten Sie denselben Stil direkt in Ihrem Editor, CI oder Terminal? Verwenden Sie `rustfmt` oder `cargo fmt` lokal:
Plattformübergreifend (über Rust-Toolchain)
Gesamtes Crate formatieren
cargo fmtFührt rustfmt für alle `.rs`-Dateien in Ihrem Crate gemäß `rustfmt.toml` aus.
Einzelne Datei formatieren
rustfmt src/main.rsWendet rustfmt-Regeln auf eine Datei direkt an.
Benutzerdefinierte maximale Breite verwenden
rustfmt --config max_width=100 src/lib.rsÜberschreibt die Standard-Umbruchspalte (ähnlich der Zeilenlänge dieses Tools).
Häufige Anwendungsfälle für den Rust-Formatter
Crate- & Bibliotheksentwicklung
Halten Sie Ihre öffentlichen Crates, internen Bibliotheken und Microservices sauber und konsistent.
- Formatierung vor der Veröffentlichung auf crates.io normalisieren.
- Beiträge mehrerer Entwickler visuell konsistent gestalten.
- Große Refactorings durchführen und dann automatisch formatieren, um das Layout zu bereinigen.
pub fn add(a: i32,b:i32)->i32{a+b}
pub fn add(a: i32, b: i32) -> i32 {
a + b
}
CLI-Tools & Automatisierung
Formatieren Sie prägnante, wartbare CLI-Tools, Skripte und Entwicklerwerkzeuge.
- Argumentparsing- und Fehlerbehandlungsblöcke lesbar halten.
- Lange `match`-Ketten und Optionsbehandlung bereinigen.
- Sicherstellen, dass interne Werkzeuge langfristig einfach erweiterbar bleiben.
Lernen & Lehren von Rust
Zeigen Sie Schülern idiomatisches Rust, ohne über Stil zu diskutieren.
- Beispiele formatieren, bevor sie in Folien oder Tutorials geteilt werden.
- Unordentlichen vs. formatierten Rust-Code vergleichen, um Best Practices zu lehren.
- Studenteneinreichungen vor der Logiküberprüfung automatisch formatieren.
fn fibonacci(n:u32)->u32{if n<2{n}else{fibonacci(n-1)+fibonacci(n-2)}}
fn fibonacci(n: u32) -> u32 {
if n < 2 {
n
} else {
fibonacci(n - 1) + fibonacci(n - 2)
}
}
❓ Frequently Asked Questions
❓Ändert dieser Rust-Formatter das Verhalten meines Codes?
📏Wie sollte ich die Zeilenlänge für Umbrüche wählen?
🧹Entfernt der Formatter nachgestellte Leerzeichen?
🔒Ist es sicher, hier produktiven Rust-Code zu formatieren?
⚙️Wie verhält sich dies zu rustfmt und cargo fmt?
Pro Tips
Fügen Sie eine `rustfmt.toml` im Stammverzeichnis Ihres Crates hinzu, damit lokales `cargo fmt` und dieser Online-Formatter bei Breite und Einrückung übereinstimmen.
Kombinieren Sie dieses Tool mit einem CI-Job, der `cargo fmt -- --check` ausführt, um zu verhindern, dass unformatierter Code in Ihren Hauptbranch gelangt.
Führen Sie vor großen Refactorings einen dedizierten Formatierungs-Commit (oder PR) durch, damit zukünftige Diffs sich auf echte Logikänderungen konzentrieren.
Verwenden Sie kürzere Zeilenlängen (80–90) für Lehre und Dokumentation; gehen Sie in internen Tools etwas breiter, wenn Ihr Team es bevorzugt.
Additional Resources
Other Tools
- CSS-Verschönerer
- HTML-Verschönerer
- JavaScript-Verschönerer
- PHP-Verschönerer
- Farbauswahl
- Sprite-Extraktor
- Base64-Decoder
- Base64-Encoder
- Csharp-Formatierer
- CSV-Formatierer
- Dockerfile Formatter
- Elm-Formatierer
- ENV-Formatierer
- Go-Formatierer
- GraphQL-Formatierer
- HCL-Formatierer
- INI-Formatierer
- JSON-Formatierer
- LaTeX-Formatierer
- Markdown-Formatierer
- Objective-C-Formatierer
- Php Formatter
- Proto-Formatierer
- Python-Formatierer
- Ruby-Formatierer
- Scala-Formatierer
- Shell-Skript-Formatierer
- SQL-Formatierer
- SVG-Formatierer
- Swift-Formatierer
- TOML-Formatierer
- Typescript Formatter
- XML-Formatierer
- YAML-Formatierer
- Yarn-Formatierer
- CSS-Minifizierer
- Html Minifier
- Javascript Minifier
- JSON-Minifizierer
- XML-Minifizierer
- HTTP-Header-Betrachter
- PDF zu Text
- Regex-Tester
- SERP-Rang-Prüfer
- Whois-Abfrage