الأكاديمية ← استخدام Hermesتوثيق رسمي · شرح عربي واضح

LSP — Semantic Diagnostics

LSP — Semantic Diagnostics

مبتدئ13 دقيقة3 أسئلة2026-08-09
الفكرة في دقيقة

ابدأ بالمعنى، ثم انتقل إلى التفاصيل.

هذا الدرس يشرح LSP — Semantic Diagnostics ضمن موضوع بدء استخدام Hermes بصورة صحيحة. ستعرف ما الذي يفعله هذا الجزء، متى تحتاجه، وما أصغر خطوة آمنة للتأكد أنه يعمل.

إن كنت مبتدئًا

إن كنت جديدًا: لا تحفظ الأسماء. ركّز على ثلاثة أسئلة: ما المشكلة التي يحلها هذا الجزء؟ ما البيانات أو الصلاحيات التي يحتاجها؟ وكيف أعرف أن النتيجة صحيحة؟

للتطبيق العملي

للتطبيق: اقرأ المثال الأول، حدّد ما سيغيّره، نفّذه على بيانات تجريبية، ثم قارن الناتج بما وعد به المصدر.

للمتخصص

للمتخصص: راجع When LSP runs، Supported languages، PowerShell، ثم افحص حالات الفشل والتوافق مع إصدارك.

ما الذي تحتاجه قبل البدء؟

لا تحتاج خبرة سابقة؛ اتبع الخطوات على جهاز تجريبي أولًا.

ماذا ستعرف؟

نتيجة واضحة قبل أن تقرأ.

  • تفهم LSP — Semantic Diagnostics من دون افتراض معرفة سابقة.
  • تفرّق بين الوصف والمعلومة التي تحتاج إلى اختبار في بيئتك.
  • اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.
وصف الصفحة الرسمي

Real language servers (pyright, gopls, rust-analyzer, …) wired into the post-write lint check used by write_file and patch.

خريطة الموضوع

ما الذي يقوله المصدر، وبأي ترتيب؟

  1. 01
    When LSP runs

    ابدأ بهذا القسم لتفهم الفكرة أو البنية الأساسية.

  2. 02
    Supported languages

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  3. 03
    PowerShell

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  4. 04
    CLI

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  5. 05
    Configuration

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  6. 06
    Per-server keys

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  7. 07
    Installation locations

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  8. 08
    Performance characteristics

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  9. 09
    Disabling

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  10. 10
    Troubleshooting

    اختم بهذا القسم لتفحص النتيجة والحالات الخاصة.

أمثلة من الصفحة الرسمية

انسخ بعد أن تفهم الأثر.

{ "bytes_written": 42, "dirs_created": false, "lint": {"status": "ok", "output": ""}, "lsp_diagnostics": "LSP diagnostics introduced by this edit:\n<diagnostics file=\"/path/to/foo.py\">\nERROR [42:5] Cannot find name 'foo' [reportUndefinedVariable] (Pyright)\nERROR [50:1] Argument of type \"str\" is not assignable to \"int\" [reportArgumentType] (Pyright)\n</diagnostics>" }
hermes lsp status # service state + per-server install status hermes lsp list # registry, optionally --installed-only hermes lsp install <id> # eagerly install one server hermes lsp install-all # try every server with a known recipe hermes lsp restart # tear down running clients hermes lsp which <id> # print resolved binary path
# config.yaml lsp: # Master toggle. Disabling skips the entire subsystem — no servers # spawn, no background event loop runs. enabled: true # How long to wait for diagnostics after each write. wait_mode: document # "document" or "full" # Max seconds to wait for the server to re-check the file after an # edit. Only *fresh* diagnostics (produced for the post-edit # content) are ever reported; if the server doesn't finish within # this budget, the edit reports "no LSP data" rather than stale # errors from before the edit. Raise this for slow servers on big # projects (
تطبيق الآن

اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.

طابق أي أمر مع إصدار Hermes المثبّت، وراجع الملفات والحسابات التي قد يصل إليها، واستخدم بيانات غير حساسة في أول اختبار. إذا اختلف الشرح عن المصدر، فالمصدر الرسمي هو المرجع النهائي.

اختبار الفهم

ثلاثة قرارات قبل علامة الاكتمال.

1. ما المرجع النهائي عند تغيّر معلومات «شرح LSP — Semantic Diagnostics»؟
2. ما أفضل طريقة لتطبيق هذا الدرس؟
3. ماذا تفعل قبل خطوة قد تعدّل ملفات أو حسابًا خارجيًا؟