# القيود والحدود (/ar/docs/verdent-for-vscode/help-support/limitations)

> فهم قيود وحدود Verdent



### ما ستتعلمه [#ما-ستتعلمه]

الحدود المعروفة لـ Verdent for VS Code، بما في ذلك قيود تنسيقات الملفات، وقيود الأدوات، والاعتبارات الخاصة بالمنصات.

***

## الحدود المعروفة [#الحدود-المعروفة]

<Tabs>
  <Tab title="تنسيقات الملفات">
    ### الملفات الثنائية غير مدعومة [#الملفات-الثنائية-غير-مدعومة]

    تعمل أدوات الملفات في Verdent فقط مع التنسيقات النصية. لا يمكن تحرير ما يلي:

    | نوع التنسيق         | أمثلة                           |
    | ------------------- | ------------------------------- |
    | **الصور**           | PNG، JPG، GIF، SVG (كملف ثنائي) |
    | **الفيديوهات**      | MP4، AVI، MOV                   |
    | **الكود المُجمَّع** | EXE، DLL، SO                    |
    | **الأرشيفات**       | ZIP، TAR، GZ                    |
    | **مستندات Office**  | DOCX، XLSX، PPTX                |
    | **ملفات PDF**       | ملفات PDF                       |

    **الحل البديل:** يمكن الإشارة إلى الملفات الثنائية في الكود أو مناقشتها من الناحية المفاهيمية، لكن التعديل عليها يتطلب أدوات خارجية.
  </Tab>

  <Tab title="قيود الأدوات">
    ### حدود عدد الأسطر في file\_read [#حدود-عدد-الأسطر-في-file_read]

    **القيد:**

    * يجب قراءة الملفات الكبيرة (أكثر من 10,000 سطر) على أجزاء
    * قراءة ملف كبير بالكامل قد تؤدي إلى استنفاد السياق

    **الحل:** استخدم نطاقات الأسطر: `file_read("file.js", start_line=100, max_lines=50)`

    ***

    ### مهلة انتظار أوامر bash [#مهلة-انتظار-أوامر-bash]

    **القيد:**

    * الحد الأقصى للمهلة: 120 ثانية (دقيقتان)
    * سيتم إنهاء العمليات طويلة التشغيل تلقائيًا

    **الحل:** قسّم العمليات إلى أوامر أصغر تكتمل خلال دقيقتين

    ***

    ### أداء البحث [#أداء-البحث]

    **القيد:**

    * أنماط glob الواسعة (`**/*`) يمكن أن تُرجع آلاف النتائج
    * عمليات بحث regex أبطأ من السلاسل النصية الحرفية

    **الحل:** استخدم أنماطًا محددة واستبعد المجلدات غير الضرورية
  </Tab>

  <Tab title="نافذة السياق">
    ### استنفاد السياق [#استنفاد-السياق]

    **المشكلة:** خلال الجلسات الطويلة أو العمليات المعقدة، يمكن أن تمتلئ نافذة سياق الذكاء الاصطناعي، مما يحد من القدرة على الرجوع إلى أجزاء سابقة من المحادثة.

    **استراتيجيات التخفيف:**

    * استخدم الوكلاء الفرعيين للبحث الاستكشافي (النتائج فقط تستهلك السياق الرئيسي)
    * اقرأ الملفات بشكل استراتيجي باستخدام نطاقات الأسطر
    * استخدم `grep_file` قبل قراءة المحتويات الكاملة
    * فوّض المهام الخلفية إلى الوكيل الفرعي Explorer

    <Tip>
      بالنسبة للملفات التي تتجاوز 500 سطر، استخدم دائمًا نطاقات الأسطر للحفاظ على مساحة السياق.
    </Tip>
  </Tab>
</Tabs>

***

## ما لا يستطيع Verdent القيام به [#ما-لا-يستطيع-verdent-القيام-به]

<Tabs>
  <Tab title="إدارة النظام">
    ### لا إدارة مباشرة للنظام [#لا-إدارة-مباشرة-للنظام]

    **لا يمكنه:**

    * تعديل إعدادات VS Code برمجيًا
    * تثبيت إضافات VS Code تلقائيًا
    * تغيير الإعدادات على مستوى النظام
    * إعادة تشغيل VS Code أو خدمات النظام

    **النطاق:** يعمل Verdent ضمن مساحة عمل VS Code، وليس على مستوى إدارة النظام.
  </Tab>

  <Tab title="التنفيذ الذاتي">
    ### لا تنفيذ ذاتي [#لا-تنفيذ-ذاتي]

    **ضوابط Manual Accept Mode:**

    * يجب على المستخدمين الموافقة على تنفيذ الأدوات في Manual Accept Mode
    * لا عمليات خلفية آلية دون موافقة
    * لا يمكن تشغيل الأوامر بينما يكون VS Code مغلقًا

    **الغرض:** السلامة وتحكم المستخدم في جميع العمليات.

    <Warning>
      لا يمكن لـ Verdent تنفيذ أوامر في الخلفية دون موافقة المستخدم. تتطلب جميع العمليات موافقة صريحة في Manual Accept Mode.
    </Warning>
  </Tab>

  <Tab title="المراقبة الفورية">
    ### لا مراقبة فورية [#لا-مراقبة-فورية]

    **لا يمكنه:**

    * مراقبة العمليات الجارية بشكل مستمر
    * تتبع تغييرات نظام الملفات في الوقت الفعلي
    * التنبيه عند أحداث النظام
    * بث ملفات السجلات بشكل مستمر

    **البديل:** استخدم تكاملات MCP لأدوات المراقبة الخارجية.
  </Tab>

  <Tab title="عمليات الشبكة">
    ### لا عمليات شبكة دون MCP [#لا-عمليات-شبكة-دون-mcp]

    **القيود المدمجة:**

    * لا يمكن إجراء طلبات HTTP عشوائية (استخدم `web_fetch` لصفحات محددة)
    * لا اتصالات مباشرة بقواعد البيانات (يتطلب MCP)
    * لا يمكن الوصول إلى الخدمات السحابية مباشرة (يتطلب MCP)
    * لا تكاملات فورية مع API (يتطلب MCP)

    **الحل:** قم بتهيئة خوادم MCP للوصول إلى الأنظمة الخارجية.
  </Tab>
</Tabs>

***

## القيود الخاصة بالمنصة [#القيود-الخاصة-بالمنصة]

### الاختلافات بين أنظمة التشغيل [#الاختلافات-بين-أنظمة-التشغيل]

**سلوك أداة bash:**

| المنصة          | الصدفة (Shell) | ملاحظات                                              |
| --------------- | -------------- | ---------------------------------------------------- |
| **macOS/Linux** | bash/zsh       | وظائف bash كاملة                                     |
| **Windows**     | PowerShell     | بعض أوامر bash غير متوفرة، استخدم مكافئات PowerShell |
| **WSL**         | bash           | أوامر Linux تعمل في بيئة WSL                         |

**التعامل مع المسارات:**

* تستخدم Windows الشرطات المائلة العكسية (`\`)، بينما تستخدم Unix الشرطات المائلة الأمامية (`/`)
* قد تحتاج مسارات الملفات إلى تعديل للمشاريع متعددة المنصات

***

### متطلبات إصدار VS Code [#متطلبات-إصدار-vs-code]

**الحد الأدنى من المتطلبات:**

* توافق إصدار VS Code (تحقق من متجر الإضافات لمعرفة الحد الأدنى الحالي)
* مساحة قرص كافية لتخزين السياق المؤقت

<Info>
  يتم الحفاظ على متطلبات الإصدار المحددة في صفحة VS Code في المتجر. تحقق من تفاصيل الإضافة لمعرفة التوافق الحالي.
</Info>

***

### قيود مساحة العمل [#قيود-مساحة-العمل]

**التركيز على مساحة عمل واحدة:**

* يعمل Verdent ضمن مساحة عمل VS Code واحدة في كل مرة
* لا يمكن تعديل الملفات عبر عدة نوافذ VS Code مفتوحة في وقت واحد
* مساحات العمل متعددة الجذور مدعومة، لكن السياق يقتصر على مساحة العمل النشطة الحالية

***

## حلول بديلة للقيود الشائعة [#حلول-بديلة-للقيود-الشائعة]

<Tabs>
  <Tab title="الملفات الثنائية">
    ### تعديل الملفات الثنائية [#تعديل-الملفات-الثنائية]

    **القيد:** لا يمكن تحرير الصور أو ملفات PDF أو الملفات الثنائية المُجمَّعة

    **الحلول البديلة:**

    * أشر إلى أدوات خارجية في أوامر bash: `bash("convert input.png -resize 50% output.png")`
    * أنشئ نصوصًا برمجية يمكن للأدوات الخارجية تنفيذها
    * وثّق الخطوات اليدوية لعمليات الملفات الثنائية

    **مثال:**

    ```bash
    # Image conversion
    bash("convert input.png -resize 50% output.png")

    # PDF to text
    bash("pdftotext document.pdf output.txt")
    ```
  </Tab>

  <Tab title="الملفات الكبيرة">
    ### التعامل مع الملفات الكبيرة [#التعامل-مع-الملفات-الكبيرة]

    **القيد:** الملفات التي تتجاوز 10,000 سطر تُثقل نافذة السياق

    **الحلول البديلة:**

    * استخدم نطاقات الأسطر: `file_read("large.log", start_line=1000, max_lines=100)`
    * ابحث أولًا: `grep_content("ERROR", glob="large.log")` للعثور على الأجزاء ذات الصلة
    * قسّم الملفات إلى وحدات أصغر لتسهيل الإدارة

    <Tip>
      استخدم دائمًا `grep_content` أولًا لتحديد الأجزاء ذات الصلة، ثم اقرأ فقط نطاقات الأسطر المحددة تلك.
    </Tip>
  </Tab>

  <Tab title="نافذة السياق">
    ### استنفاد نافذة السياق [#استنفاد-نافذة-السياق]

    **القيد:** المحادثات الطويلة تملأ نافذة السياق

    **الحلول البديلة:**

    * فوّض البحث في قاعدة الكود إلى الوكيل الفرعي Explorer
    * استخدم الوكيل الفرعي Verifier لمهام التحقق المعزولة
    * ابدأ محادثة جديدة للمهام المنفصلة
    * استخدم `todo_update` لتتبع التقدم عبر الجلسات

    **أفضل ممارسة:** فوّض البحث الخلفي إلى الوكلاء الفرعيين للحفاظ على السياق الرئيسي للتطوير النشط.
  </Tab>

  <Tab title="اختلافات المنصات">
    ### اختلافات الأوامر بين المنصات [#اختلافات-الأوامر-بين-المنصات]

    **القيد:** تختلف أوامر bash بين Windows وUnix

    **الحلول البديلة:**

    * استخدم أدوات متعددة المنصات: نصوص npm البرمجية بدلًا من bash الخام
    * أوامر شرطية: `bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then ...; fi")`
    * ملف AGENTS.md خاص بالمشروع يتضمن ملاحظات حول المنصات

    **مثال:**

    ```bash
    # Cross-platform
    bash("npm run build")

    # Platform-specific conditional
    bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then make; else nmake; fi")
    ```
  </Tab>
</Tabs>

***

## تحسينات مستقبلية [#تحسينات-مستقبلية]

<Note>
  تتم معالجة القيود باستمرار. تحقق من ملاحظات إصدار Verdent للاطلاع على التحديثات المتعلقة بتوسيع القدرات، وزيادة الحدود، والتكاملات الجديدة.
</Note>

***

## طالع أيضًا [#طالع-أيضًا]

<CardGroup cols="2">
  <Card title="مرجع الأدوات" icon="wrench" href="/docs/verdent-for-vscode/advanced-features/tool-reference">
    القدرات الكاملة للأدوات
  </Card>

  <Card title="أفضل الممارسات" icon="lightbulb" href="/docs/verdent-for-vscode/best-practices/prompts">
    تحسين استخدام Verdent
  </Card>
</CardGroup>
