الإعداد

اختصارات لوحة المفاتيح

استخدم اختصارات لوحة المفاتيح لتبسيط سير عملك وتقليل الاعتماد على تفاعلات الماوس.

أوامر لوحة المفاتيح المتاحة

يوفر Bob أوامر لوحة مفاتيح لتحسين سير عملك. تُركّز هذه الصفحة على أمر Bob.acceptInput، وإليك مرجعًا سريعًا لأوامر لوحة المفاتيح الرئيسية:

الأمرالوصفالاختصار الافتراضي
Bob.acceptInputإرسال نص أو قبول الاقتراح الأساسيلا يوجد (قابل للإعداد)
Bob.focusالتركيز على مربع إدخال Bobلا يوجد (قابل للإعداد)
Inline Chatتحرير الكود مباشرةً في المحررCmd + K (Mac) / Ctrl + K (Windows/Linux)
Move to chatإرسال الكود المحدد إلى واجهة الدردشةCmd + L (Mac) / Ctrl + L (Windows/Linux)
Literate coding modeتبديل وضع literate codingCmd + I (Mac) / Ctrl + I (Windows/Linux)
Open Bob chat panelإظهار أو التركيز على لوحة دردشة BobOption + Cmd + B (Mac) / Ctrl + Alt + B (Windows/Linux)
Mode toggleالتنقل عبر الأوضاع المتاحةCmd + . (Mac) / Ctrl + . (Windows/Linux)

للاطلاع على قائمة كاملة بجميع اختصارات لوحة المفاتيح المتاحة وإعداد ربط مخصص، افتح إعدادات Bob، ضمن إعدادات General وانتقل إلى خيار Keyboard shortcuts حيث يمكنك عرض وتعديل جميع الاختصارات.

فوائد أوامر لوحة المفاتيح الرئيسية

  • واجهة قائمة على لوحة المفاتيح: إرسال نص أو اختيار زر الاقتراح الأساسي دون تفاعل الماوس
  • تحسين إمكانية الوصول: ضرورية للمستخدمين ذوي قيود الحركة أو من يعانون من ألم عند استخدام الماوس
  • توافق Vim/Neovim: يدعم الانتقال السلس للمطورين القادمين من بيئات قائمة على لوحة المفاتيح
  • كفاءة سير العمل: تقليل التبديل بين لوحة المفاتيح والماوس أثناء مهام التطوير

أمر Bob.acceptInput

يتيح لك أمر Bob.acceptInput إرسال النص أو قبول الاقتراحات باختصارات لوحة المفاتيح بدلًا من النقر على الأزرار أو الضغط على Enter في منطقة الإدخال.

كيف يعمل الأمر

أمر Bob.acceptInput هو أمر إرسال إدخال متعدد الأغراض. عند تشغيله:

  • يُرسل نصك الحالي أو إدخال الصورة عند التواجد في منطقة الإدخال النصي (ما يعادل الضغط على Enter)
  • ينقر الزر الأساسي (الأول) عند ظهور أزرار الإجراء (مثل أزرار التأكيد/الإلغاء أو أي أزرار إجراء أخرى)

دليل الإعداد التفصيلي

الطريقة 1: استخدام واجهة المستخدم

  1. افتح Command Palette (Ctrl+Shift+P أو Cmd+Shift+P على Mac)
  2. اكتب "Preferences: Open Keyboard Shortcuts"
  3. في مربع البحث، اكتب "Bob.acceptInput"
  4. حدّد "Bob: Accept Input/Suggestion" في النتائج
  5. انقر أيقونة + على يسار الأمر
  6. اضغط مجموعة المفاتيح المطلوبة (مثلًا Ctrl+Enter أو Alt+Enter)
  7. اضغط Enter للتأكيد

الطريقة 2: تحرير keybindings.json مباشرةً

  1. افتح Command Palette (Ctrl+Shift+P أو Cmd+Shift+P على Mac)
  2. اكتب "Preferences: Open Keyboard Shortcuts (JSON)"
  3. أضف الإدخال التالي إلى مصفوفة JSON:
{
  "key": "ctrl+enter",  // أو مجموعة المفاتيح المفضلة لديك
  "command": "Bob.acceptInput",
  "when": "BobViewFocused"  // هذا شرط سياق يضمن أن الأمر يعمل فقط عند تركيز Bob
}

يمكنك أيضًا استخدام شرط أكثر تحديدًا:

{
  "key": "ctrl+enter",
  "command": "Bob.acceptInput",
  "when": "webviewViewFocus && webviewViewId == 'Bob-cline.SidebarProvider'"
}

مجموعات المفاتيح الموصى بها

اختر مجموعة مفاتيح لا تتعارض مع اختصارات IBM Bob الموجودة:

  • Alt+Enter - سهلة الضغط أثناء الكتابة
  • Ctrl+Space - مألوفة لمستخدمي الإكمال التلقائي
  • Ctrl+Enter - بديهية لتشغيل الأوامر
  • Alt+A - مختصر تذكري لـ "Accept"

حالات الاستخدام العملية

سير عمل التطوير السريع

  • إرسال النص: أرسل رسائل إلى Bob دون تحريك يديك عن لوحة المفاتيح
  • تأكيدات الإجراءات: قبول عمليات مثل حفظ الملفات أو تشغيل الأوامر أو تطبيق التغييرات
  • العمليات متعددة الخطوات: التحرك بسرعة عبر الخطوات التي تتطلب تأكيدًا أو إدخالًا
  • المهام المتتالية: ربط مهام متعددة معًا مع حد أدنى من الانقطاع

التطوير القائم على لوحة المفاتيح

  • سير عمل Vim/Neovim: إذا كنت قادمًا من خلفية Vim/Neovim، حافظ على سير عملك القائم على لوحة المفاتيح
  • تكامل بيئة التطوير: استخدم إلى جانب اختصارات IBM Bob الأخرى لتجربة سلسة
  • مراجعات الكود: قبول الاقتراحات بسرعة عند مراجعة الكود مع Bob
  • كتابة التوثيق: إرسال النص وقبول اقتراحات التنسيق عند توليد التوثيق

حالات استخدام إمكانية الوصول

  • قيود حركة اليد: ضرورية للمستخدمين الذين يجدون صعوبة في استخدام الماوس
  • الوقاية من إجهاد التكرار: تقليل استخدام الماوس للوقاية من إصابات إجهاد التكرار أو إدارتها
  • تكامل قارئ الشاشة: يعمل بشكل جيد مع قارئات الشاشة للمستخدمين ضعاف البصر
  • توافق التحكم الصوتي: يمكن تشغيله عبر أوامر صوتية عند استخدام برامج التحكم الصوتي

فوائد إمكانية الوصول

صُمّم أمر Bob.acceptInput مع مراعاة إمكانية الوصول:

  • تقليل الاعتماد على الماوس: إتمام سير عمل كاملة دون الوصول للماوس
  • تقليل الإجهاد الجسدي: يساعد المستخدمين الذين يعانون من ألم عند استخدام الماوس
  • طريقة إدخال بديلة: يدعم المستخدمين ذوي إعاقات الحركة الذين يعتمدون على التنقل بلوحة المفاتيح
  • تحسين سير العمل: ذو قيمة خاصة للمستخدمين القادمين من بيئات قائمة على لوحة المفاتيح مثل Vim/Neovim

سير العمل القائمة على لوحة المفاتيح

إليك بعض أمثلة سير العمل الكاملة لاستخدام اختصارات لوحة المفاتيح مع Bob بفعالية:

مثال على سير عمل التطوير

  1. افتح IBM Bob وانتقل إلى مشروعك
  2. افتح لوحة دردشة Bob
  3. اكتب طلبك: "Create a REST API endpoint for user registration"
  4. عندما يسأل Bob عن تفضيلات الإطار، استخدم اختصار Bob.acceptInput لتحديد الاقتراح الأول
  5. استمر في استخدام الاختصار لقبول اقتراحات توليد الكود
  6. عندما يعرض Bob حفظ الملف، استخدم الاختصار مرة أخرى للتأكيد
  7. استخدم الاختصارات المدمجة في IBM Bob للتنقل عبر الملفات المنشأة

سير عمل مراجعة الكود

  1. حدد الكود الذي تريد مراجعته واستخدم أمر "Copy" في IBM Bob
  2. اطلب من Bob مراجعته: "Review this code for security issues"
  3. عندما يطرح Bob أسئلة توضيحية حول سياق الكود، استخدم اختصارك لقبول الاقتراحات
  4. عندما يقدم Bob توصيات للتحسين، استخدم الاختصار مرة أخرى لقبول اقتراحات التنفيذ

استكشاف الأخطاء وإصلاحها

المشكلةالحل
الاختصار لا يعملتأكد من تركيز Bob (انقر في لوحة Bob أولًا)
تحديد اقتراح خاطئالأمر يختار دائمًا الزر الأول (الأساسي)؛ استخدم الماوس إذا كنت تحتاج خيارًا مختلفًا
تعارض مع الاختصارات الموجودةجرّب مجموعة مفاتيح مختلفة في إعدادات لوحة المفاتيح في IBM Bob
لا توجد ردود فعل مرئية عند الاستخدامهذا طبيعي - الأمر يُفعّل الوظيفة بصمت دون تأكيد مرئي
الاختصار يعمل باستمرار متقطعتأكد من إعداد شرط when بشكل صحيح في keybindings.json (إما BobViewFocused أو الشرط الخاص بـ webview)

التنفيذ التقني

يُنفَّذ أمر Bob.acceptInput كما يلي:

  • الأمر مُسجَّل بـ Bob.acceptInput مع عنوان العرض "Bob: Accept Input/Suggestion" في لوحة الأوامر
  • عند تشغيله، يُرسل رسالة "acceptInput" إلى Bob webview النشط
  • يحدد webview الإجراء المناسب بناءً على حالة واجهة المستخدم الحالية:
    • ينقر زر الإجراء الأساسي إذا كانت أزرار الإجراء مرئية وممكّنة
    • يُرسل الرسالة إذا كانت منطقة النص ممكّنة وتحتوي على نص/صور
  • لا يوجد ربط مفاتيح افتراضي - يعيّن المستخدمون اختصارهم المفضّل

القيود

  • يعمل فقط عندما تكون واجهة Bob نشطة
  • لا تأثير له إذا لم يكن هناك أي مدخلات أو اقتراحات متاحة حاليًا
  • يُعطي الأولوية للزر الأساسي (الأول) عند عرض خيارات متعددة
ما رأيك في هذا الموضوع؟