تخطَّ إلى المحتوى

bacon - محقق رمز Rust في الخلفية

bacon - محقق رمز Rust في الخلفية

bacon هو محقق رمز خلفية لـ Rust. تشغّله مرة واحدة في محطة جانبية وهو يراقب ملفات مصدرك، وإعادة تشغيل cargo check أو clippy أو اختباراتك في كل حفظ وعرض ملخص مضغوط وحالي دائمًا من الأخطاء والتحذيرات. الهدف الفني هو أنك لا تكتب cargo check مرة أخرى ولا تتمرر أبدًا عبر جدران الإخراج — bacon يعرض الخطأ الأول بشكل بارز ويحديث في المكان بينما تصحح الأشياء.

التثبيت

الطريقةالأمر
Cargocargo install --locked bacon
macOS (Homebrew)brew install bacon
Arch Linuxpacman -S bacon
التحققbacon --version

التشغيل

الأمرالوصف
baconالمهمة الافتراضية (عادة check)
bacon clippyشغّل clippy على التغييرات
bacon testشغّل الاختبارات على التغييرات
bacon check-allتحقق من جميع الأهداف/الميزات
bacon docبناء الوثائق
bacon --job clippy-allالمهمة المسماة
bacon -- --features xمرر حجج cargo إضافية

عناصر التحكم في لوحة المفاتيح

المفتاحالإجراء
cالتبديل إلى check
lالتبديل إلى clippy
tالتبديل إلى test
dبناء الوثائق
escالعودة إلى المهمة السابقة
q / Ctrl+Cخروج
spaceأعد التشغيل الآن
sتبديل وضع الملخص (قائمة مضغوطة)
wتبديل الالتفاف
g/Gالتمرير إلى الأعلى/الأسفل
pتبديل إيقاف على التغييرات

وضع الملخص

وضع الملخص يطوي الإخراج إلى سطر واحد لكل مشكلة — مثالي لجزء جانبي ضيق.

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

اضغط s لتبديل؛ اضغط enter على إدخال لتوسيع التشخيص الكامل.

الإعدادات

# bacon.toml في جذر المشروع
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"
الحقلالغرض
default_jobما يشغّله bacon بدون حجج
commandالأمر الفعلي لتشغيله
need_stdoutالتقط stdout (الاختبارات) مقابل stderr فقط (تحقق)
watchمسارات إضافية لمراقبتها
keybindingsمفاتيح مخصصة لتبديل المهام

الإعدادات الشائعة

# سير عمل الجزء الثنائي: محرر على اليسار، bacon على اليمين
bacon clippy

# شغّل الاختبارات بشكل مستمر مع nextest لتسريع
bacon test          # مع وظيفة nextest المعرفة أعلاه

# راقب عضو مساحة عمل فقط
bacon -p my-crate

لماذا ليس فقط cargo watch?

الجانبbaconcargo-watch
الإخراجملخص مضغوط، في المكانمخرجات تمرير خام
تبديل الوظيفةمفاتيح حيةإعادة تشغيل مع حجج جديدة
التركيزأول خطأ مميزسجل كامل
الأفضل لـجزء التغذية المرتجعة المستمرةمراقبة أمر عام

لـ non-Rust أو مراقبة ملف عام، استخدم watchexec؛ لتشغيل اختبارات أسرع اقتران مع cargo-nextest.

الموارد