تم نقل جميع أنشطة التطوير إلى مستودعات cxxd وcxxd-vim. لمواكبة آخر التطورات، يُنصح باستخدام البرنامج المساعد cxxd-vim. راجع القسم الأول من الأسئلة الشائعة لمزيد من التفاصيل.
محتويات
- التغييرات
- تثبيت
- الاستخدام
- لقطات الشاشة
- سمات
- الاعتمادات
- التعليمات
التغييرات
- 13 يوليو 2018
- تم استخراج الوظائف الأساسية لمستودعات منفصلة:
- cxxd، تطبيق خادم لغة C/C++
- cxxd-vim، واجهة Vim الأمامية تم تطويرها لـ
cxxd
- سوف يقوم
Yavide
بتضمين تلك المشاريع باعتبارها تبعيات وسيستمر في العمل بشكل طبيعي ولكن يتم الآن نقل كل أنشطة التطوير والتركيز إلى تلك المشاريع ، لذا من أجل الحصول على المزيد من الميزات والاستقرار، يرجى البدء في استخدامها مباشرة من تكوين Vim العادي الخاص بك.
- 2 ديسمبر 2017
- تم تنفيذ المفهرس القائم على Clang
- تم تنفيذ البحث عن جميع المراجع المستندة إلى Clang
- تم تنفيذ الانتقال إلى التعريف القائم على Clang
- تم تنفيذ الانتقال إلى التضمين المستند إلى Clang
- تم تنفيذ الدعم ل clang-tidy
- تم تنفيذ الدعم لقواعد بيانات تجميع JSON
- تم تنفيذ آليات التخزين المؤقت لوحدة الترجمة
- إصلاحات الأخطاء المختلفة والتحسينات الصغيرة الأخرى
- 12 فبراير 2017
- تم تنفيذ خدمة خصم النوع.
- سيؤدي تمرير مؤشر الماوس فوق الكود المصدري إلى تقديم تفاصيل حول البنيات الأساسية (أي أنواع البيانات، وتوقيعات الوظائف، وما إلى ذلك).
- 10 فبراير 2017
- تم تنفيذ خدمة الإصلاحات والتشخيصات المستندة إلى Clang.
- الآلية المطبقة والتي تمكن من مشاركة نفس AST ضمن خدمات متعددة:
- على سبيل المثال، بمجرد إنشاء AST، ستتمكن خدمات تسليط الضوء على بناء الجملة الدلالي وخدمات Clang Fixits من مشاركة نفس AST.
- سيكون هذا مهمًا بشكل خاص عندما يتم تشغيل المزيد من الخدمات ذات الوزن الثقيل المستندة إلى Clang، مثل المفهرس ومحرك الإكمال التلقائي.
- تمت إعادة هيكلة التعليمات البرمجية من جانب الخادم لفصل عمليات التكامل الخاصة بالمحرر عن التنفيذ الأساسي للخدمات.
- 19 يناير 2017
- صقل بعض الحواف الخشنة حول تمييز بناء الجملة:
- تم تنفيذ الدعم للتعامل مع مجموعة من الوظائف المحملة بشكل زائد أو قوالب الوظائف (تعبيرات CursorKind.OVERLOADED_DECL_REF)
- تم تنفيذ الدعم للتعامل مع الأنواع التابعة (تعبيرات TypeKind.DEPENDENT)
- تم تنفيذ تصحيح غير تدخلي لـ clang.cindex مما يتيح اجتياز AST أكثر مرونة
- 28 ديسمبر 2016
- تم تنفيذ خدمة تسليط الضوء على بناء جملة التعليمات البرمجية المصدر المستندة إلى Clang (تشغيل
cd /colors/yaflandia && git pull
للحصول على تغييرات نظام الألوان المطلوبة)
- 1 يوليو 2016
- تم تنفيذ إطار عمل خادم عميل عام جديد (غير متزامن) يتيح إرسال أي نوع من العمليات للتشغيل في عمليات خلفية منفصلة غير محظورة (ما يسمى بالخدمات) والتي يمكن عند اكتمالها الإبلاغ عن نتائجها إلى الخادم ("Yavide").
- تم تنفيذ 4 خدمات جديدة بالإضافة إلى إطار العمل غير المتزامن الجديد:
- خدمة تسليط الضوء على بناء جملة التعليمات البرمجية المصدر أثناء التنقل.
- خدمة فهرسة كود المصدر بشكل فوري.
- خدمة التنسيق التلقائي للكود المصدري المستندة إلى Clang.
- خدمة بناء المشروع.
تثبيت
انظر دليل التثبيت.
الاستخدام
انظر الاستخدام.
لقطات الشاشة
شاهد بعض صور GIF أثناء العمل.
مزيد من التفاصيل ...
سمات
- مجمعة وتعديلها لتطوير C/C++
- إدارة المشروع
- قم بإنشاء مشاريع جديدة أو قم باستيراد قاعدة التعليمات البرمجية الموجودة إلى مساحة العمل الجديدة
- مستكشف المشروع
- استكشف المشروع باستخدام أداة عرض الشجرة
- منشئ المشروع
- قم بتشغيل تصميماتك داخل البيئة لتشغيلها بشكل غير تدخلي في الخلفية
- متصفح الطبقة
- يضم نظرة عامة على الرموز المحددة في الوحدة الحالية (أي الماكرو، والبنية، والفئة، والطريقة، ومساحة الاسم، وما إلى ذلك)
- الإكمال التلقائي لرمز المصدر
- مدعومة بواجهة خلفية لمترجم C/C++ الحقيقي لضمان الصحة الكاملة
- التنقل في كود المصدر
- يتميز بنظام إنشاء العلامات الآلي بالكامل والذي يحافظ على تحديث قاعدة بيانات الرموز
- تسليط الضوء على بناء جملة التعليمات البرمجية المصدر على أساس
libclang
- توفير دعم أكثر ثراءً لتسليط الضوء على بناء الجملة من ذلك الذي قدمه
Vim
في الأصل
- التنسيق التلقائي لرمز المصدر
- تحليل ثابت كود المصدر
- تكامل عميل إدارة التعليمات البرمجية المصدر
- والعديد من الميزات المتنوعة مثل:
- الإكمال التلقائي للأقواس
- الإكمال التلقائي للنص العادي المدرك للسياق
- دعم تحرير الاختيار المتعدد
- مقتطفات من التعليمات البرمجية
- دعم أنظمة الألوان
الاعتمادات
هذه قائمة مرتبة أبجديًا لمكونات Vim الإضافية التابعة لجهات خارجية والمستخدمة حاليًا في النظام:
- أ (https://github.com/vim-scripts/a.vim)
- Clang_Complete (https://github.com/Rip-Rip/clang_complete)
- NERDCommenter (https://github.com/scrooloose/nerdcommenter)
- NERDtree (https://github.com/scrooloose/nerdtree)
- سوبرتاب (https://github.com/ervandew/supertab)
- شريط العلامات (https://github.com/majutsushi/tagbar)
- UltiSnips (https://github.com/SirVer/ultisnips)
- فيم-ايرلاين (https://github.com/bling/vim-airline)
- vim-autoإغلاق (https://github.com/Townk/vim-autoإغلاق)
- فيم-الهارب (https://github.com/tpope/vim-fugitive)
- فيم-جيتغوتر (https://github.com/airblade/vim-gitgutter)
- vim-multiple-cursors (https://github.com/terryma/vim-multiple-cursors)
- vim-pathogen (https://github.com/tpope/vim-pathogen)
التعليمات
لماذا تم نقل التركيز على التطوير إلى cxxd وcxxd-vim؟
TL;DR بعد فصل مستودع Yavide
الكبير المترابط إلى مستودعين منفصلين ( cxxd
& cxxd-vim
) جلب لنا المزيد من التصميم المعياري وقابل لإعادة الاستخدام والقابل للاختبار والمرونة. هناك العديد من المزايا الأخرى لهذا الأسلوب والتي يجب الإشارة إليها هنا باختصار ولكن الجزء المهم الآن هو أن منطق الواجهة الأمامية (مثل تنفيذ واجهة المستخدم) منفصل الآن عن تطبيق الواجهة الخلفية (ميزات خادم لغة C/C++). ويمكن الآن دفع هذين التطورين بشكل منفصل وبالتوازي. علاوة على ذلك، يتصرف cxxd-vim
مثل مكون Vim الإضافي الحقيقي، لذلك لن تحتاج إلى استخدام نصوص التثبيت المتسللة بعد الآن، بل تحتاج إلى طريقة عادية للتثبيت تمامًا مثل أي مكون إضافي آخر لـ Vim (على سبيل المثال Vundle). للحصول على العديد من التفاصيل الأخرى يرجى إلقاء نظرة على المستودعات المعنية.
أسئلة أخرى
راجع الأسئلة الشائعة.