Zum Inhalt springen

bacon - Background Rust Code Checker Cheatsheet

bacon - Background Rust Code Checker Cheatsheet

bacon ist ein Background Code Checker für Rust. Du führst es einmal in einem Side Terminal aus und es beobachtet deine Source-Dateien, rerunning cargo check, clippy oder deine Tests auf jedem Save und anzeigend eine kompakte, immer-aktuelle Zusammenfassung von Fehlern und Warnungen. Das Design-Ziel ist, dass du nie cargo check wieder tippst und nie Walls von Ausgabe scrollst — Bacon zeigt den Ersten Fehler prominent und update in-place, wenn du Dinge fixierst.

Installation

MethodeBefehl
Cargocargo install --locked bacon
macOS (Homebrew)brew install bacon
Arch Linuxpacman -S bacon
Verifikationbacon --version

Running

BefehlBeschreibung
baconDefault Job (normalerweise check)
bacon clippyFühre clippy auf Changes aus
bacon testFühre Tests auf Changes aus
bacon check-allCheck alle Targets/Features
bacon docBuild Docs
bacon --job clippy-allNamed Job
bacon -- --features xPass Extra Cargo Args

Tastatur-Kontrollmittel

TasteAction
cSwitch zu check
lSwitch zu clippy
tSwitch zu test
dBuild Docs
escBack zum Vorigen Job
q / Ctrl+CBeende
spaceRe-run Jetzt
sToggle Summary Mode (Compact List)
wToggle Wrapping
g/GScroll zu Top/Bottom
pToggle Pause auf Changes

Summary Mode

Summary Mode Collapses Output in eine Linie pro Problem — ideal für ein Narrow Side Pane.

✖ 3 errors · ⚠ 5 warnings
  src/main.rs:42  mismatched types
  src/lib.rs:17   unused variable: `x`

Press s zum Toggle; Press enter auf einem Entry zum Expand die Vollständige Diagnostic.

Konfiguration

# bacon.toml in der Project Root
default_job = "clippy"

[jobs.clippy]
command = ["cargo", "clippy", "--all-targets", "--color", "always"]
need_stdout = false

[jobs.test]
command = ["cargo", "nextest", "run", "--color", "always"]
need_stdout = true

[jobs.check-win]
command = ["cargo", "check", "--target", "x86_64-pc-windows-msvc"]

[keybindings]
n = "job:check-win"
FeldZweck
default_jobWas bacon ohne Args lauft
commandDer aktuelle Befehl zum Ausführen
need_stdoutCapture Stdout (Tests) vs Stderr only (check)
watchExtra Paths zum Beobachten
keybindingsCustom Keys zum Switching Jobs

Common Setups

# Two-Pane Workflow: Editor auf der Left, Bacon auf der Right
bacon clippy

# Run Tests Continuously mit Nextest für Speed
bacon test          # mit dem Nextest Job, das oberhalb definiert ist

# Watch ein Workspace Member nur
bacon -p my-crate

Warum nicht Just cargo watch?

AspektBaconCargo-Watch
OutputKompakt, In-Place ZusammenfassungRaw Scrolling Output
Job SwitchingLive KeybindingsRestart mit neuen Args
FocusErste Error HighlightedFull Log
Am besten fürContinuous Feedback PaneGeneric Command Watching

Für Non-Rust oder Generisches File-Watching, nutze watchexec; für schnellere Test Runs, pair mit cargo-nextest.

Ressourcen