Salta ai contenuti

bacon - Cheatsheet del Verificatore di Codice Rust in Background

bacon - Cheatsheet del Verificatore di Codice Rust in Background

bacon è un verificatore di codice in background per Rust. Lo esegui una volta in un terminale laterale e osserva i tuoi file sorgente, rieseguendo cargo check, clippy o i tuoi test a ogni salvataggio e mostrando un compatto, sempre aggiornato riepilogo di errori e avvertimenti. L”obiettivo di progettazione è che tu non digiti mai più cargo check e non scorra mai muri di output — bacon mostra il primo errore in modo prominente e si aggiorna sul posto mentre correggi le cose.

Installation

MethodCommand
Cargocargo install --locked bacon
macOS (Homebrew)brew install bacon
Arch Linuxpacman -S bacon
Verifybacon --version

Running

CommandDescription
baconJob predefinito (di solito check)
bacon clippyEsegui clippy sui cambiamenti
bacon testEsegui test sui cambiamenti
bacon check-allControlla tutti i target/le funzionalità
bacon docCostruisci i doc
bacon --job clippy-allNamed job
bacon -- --features xPassa argomenti di cargo extra

Keyboard Controls

KeyAction
cPassa a check
lPassa a clippy
tPassa a test
dCostruisci i doc
escTorna al job precedente
q / Ctrl+CEsci
spaceRiesegui ora
sAttiva/disattiva la modalità di riepilogo (elenco compatto)
wAttiva/disattiva l”accaparramento
g/GScorri in alto/in basso
pAttiva/disattiva la pausa sui cambiamenti

Summary Mode

La modalità di riepilogo comprime l”output in una riga per problema — ideale per un riquadro laterale stretto.

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

Premi s per attivare/disattivare; premi enter su una voce per espandere la diagnostica completa.

Configuration

# bacon.toml in the 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"
FieldPurpose
default_jobCosa esegue bacon senza argomenti
commandIl comando effettivo da eseguire
need_stdoutCattura stdout (test) vs stderr solo (check)
watchPercorsi extra da osservare
keybindingsTasti personalizzati per passare ai job

Common Setups

# Two-pane workflow: editor on the left, bacon on the right
bacon clippy

# Run tests continuously with nextest for speed
bacon test          # with the nextest job defined above

# Watch a workspace member only
bacon -p my-crate

Why Not Just cargo watch?

Aspectbaconcargo-watch
OutputCompatto, riepilogo sul postoOutput grezzo che scorre
Job switchingTasti liveRiavvia con nuovi argomenti
FocusPrimo errore evidenziatoLog completo
Best forRiquadro di feedback continuoOsservazione generica di comando

Per non-Rust o osservazione generica di file, usa watchexec; per test più veloci abbina con cargo-nextest.

Resources