bacon - محقق رمز Rust في الخلفية
bacon هو محقق رمز خلفية لـ Rust. تشغّله مرة واحدة في محطة جانبية وهو يراقب ملفات مصدرك، وإعادة تشغيل cargo check أو clippy أو اختباراتك في كل حفظ وعرض ملخص مضغوط وحالي دائمًا من الأخطاء والتحذيرات. الهدف الفني هو أنك لا تكتب cargo check مرة أخرى ولا تتمرر أبدًا عبر جدران الإخراج — bacon يعرض الخطأ الأول بشكل بارز ويحديث في المكان بينما تصحح الأشياء.
التثبيت
| الطريقة | الأمر |
|---|
| Cargo | cargo install --locked bacon |
| macOS (Homebrew) | brew install bacon |
| Arch Linux | pacman -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?
| الجانب | bacon | cargo-watch |
|---|
| الإخراج | ملخص مضغوط، في المكان | مخرجات تمرير خام |
| تبديل الوظيفة | مفاتيح حية | إعادة تشغيل مع حجج جديدة |
| التركيز | أول خطأ مميز | سجل كامل |
| الأفضل لـ | جزء التغذية المرتجعة المستمرة | مراقبة أمر عام |
لـ non-Rust أو مراقبة ملف عام، استخدم watchexec؛ لتشغيل اختبارات أسرع اقتران مع cargo-nextest.
الموارد