مرحبا يا هبر!
في اليوم الآخر أصدرنا CLion 2018.3. يلخص الإصدار الثالث الرئيسي هذا العام عملنا في مجالين مهمين للتنمية -
تحسين دعم اللغة والتطوير عن بُعد .
بالإضافة إلى ذلك ، نحن أخيرًا:
- أدوات تعريف رمز المضافة.
- إعادة تحديد الأوامر في المحرر لتجميع / إعادة تجميع التعليمات البرمجية على مستوى ملف واحد أو عدة أهداف أو المشروع بأكمله ؛
- جنبا إلى جنب مع IDEs الأخرى المستندة إلى منصة IntelliJ ، أضافوا الدعم لوحدات Git الفرعية وطلبات سحب GitHub ؛
- وسائل محسنة للوصول الشامل إلى إمكانيات IDE (إمكانية الوصول).
اقرأ المزيد عن هذه الابتكارات وغيرها أدناه. ولتجربة ميزات وتحسينات جديدة ، قم بتنزيل الإصدار المجاني لمدة 30 يومًا
من موقعنا .
دعم لغة C ++
المزيد C ++ 17
تعلّم محلل CLion فهم ميزتين جديدتين من
تعبيرات C ++ 17 المعيارية وطرق
الاستنتاج . من ناحية ، فإن التغييرات في المحلل اللغوي ليست مكتملة الدعم بعد ، ولكن على الأقل سيكون تمييز الكود أكثر صحة ، وبالنسبة لحالات
الاستدلال المعرفة من قبل المستخدم ، فإن IDE سيعرض النوع بشكل صحيح ويمكنك رؤيته ، على سبيل المثال ، عند استدعاء معلومات حول المعلمات وظيفة.

Clangd هو الآن في الملاحة
آخر مرة كتبنا أن CLion يستخدم الآن ليس فقط محرك لغته الخاصة للعمل مع رمز C / C ++ ، ولكن أيضا واحد إضافي ، تجريبي واحد على أساس Clangd. عند تشغيله لعرض الأخطاء والتحذيرات في المحرر ، انتقلنا إلى CLion 2018.3 ونفذنا بعض الإجراءات الخاصة بتصفح التعليمات البرمجية والبحث عن الكود على أساسه.
يوفر محرك اللغة المستندة إلى Clangd النتائج التي يتم دمجها فيما بعد على أي حال مع النتائج التي تم الحصول عليها من محرك CLion. مثال نموذجي هو Find Usages (
Alt+F7
): يبحث Clangd عن الملفات المفتوحة في المحرر ، ويبحث محركنا عن الباقي.
أمثلة على الإجراءات الأخرى التي تستخدم محرك لغة Clangd بشكل إضافي:
- انتقل إلى الإعلان (
Ctrl+B
/ ⌘B
) / انتقل إلى التعريف ( Ctrl+Alt+B
/ ⌥⌘B
) - تسليط الضوء على جميع الادراج للرمز الذي يقف عليه المؤشر
- التوثيق السريع (
Ctrl+Q
/ F1
)
يتم تمكين Clangd بشكل افتراضي ويتم تهيئته في الإعدادات / التفضيلات | اللغات والأطر | C / C ++ | Clangd:

بمعنى أنه يمكنك تمكين / تعطيل الوظيفة الضرورية بشكل مستقل أعلى Clangd - على سبيل المثال ، فقط إظهار الأخطاء أو التنقل فقط. إذا كنت بحاجة إلى تعطيل استخدام Clangd تمامًا ، فقم بإلغاء تحديد كل المربعات في مربع الحوار هذا.
وبالمناسبة ، يمكن تشغيل Clang-Tidy بدون Clangd ، ولكن تشغيله من خلال Clangd يحسن الأداء بشكل كبير ، لأنه يستخدم شجرة AST المخزنة مؤقتًا في Clangd.
التنمية عن بعد
قدم
إصدار CLion 2018.1 القدرة على Windows للعمل مع النظام الفرعي لـ Windows الفرعي لنظام Linux (WSL). تسمح لك بيئة Linux هذه ، المضمنة في Windows ، بإنشاء تطبيقات Linux وتشغيلها وتصحيحها على Windows. قلنا بعد ذلك أننا قمنا على وجه التحديد بتطبيق دعم WSL من خلال ssh ، أي كنظام فرعي بعيد. كانت هذه هي الخطوة الأولى للعمل مع تكوينات بعيدة تماما.
وهكذا في CLion 2018.3 أعلنا دعم أول إصدار كبير من التطوير عن بُعد:
- على الجهاز المحلي حيث يعمل CLion ، قد يكون Linux أو Windows أو macOS.
- على جهاز بعيد ، حيث تقوم CLion ببناء التطبيق الخاص بك وتشغيله وتصحيحه ، قم بإجراء الاختبارات ، حتى الآن لا يمكن أن يكون هناك سوى Linux.
- من المفترض أن الكود موجود على الجهاز المحلي. يقوم CLion نفسه بمزامنته مع الجهاز البعيد ، ويسحب مسارات البحث في الرأس إلى المسار المحلي لحل الرمز في المحرر بسرعة. تتم المزامنة من خلال rsync لنظام التشغيل Linux أو macOS كآلات محلية ، ومن خلال sftp و gzip لـ Windows.
- كان يعمل حتى الآن فقط للمشاريع على CMake.

من السهل جدًا إعداد مثل هذا التكوين عن بُعد - تحتاج فقط إلى إنشاء سلسلة أدوات عن بعد في الإعدادات / التفضيلات | البناء والتنفيذ والنشر | أدوات واستخدامها في بعض ملامح CMake. التعليمات التفصيلية موجودة في
مدونة اللغة الإنجليزية والوثائق عبر الإنترنت . يتم عرض تقدم التزامن مع المضيف البعيد في إطار "نقل الملفات" (عرض | أداة Windows | نقل الملفات) ، وتغيير معلمات الاتصال ومسارات الدليل على الجهاز البعيد في الإعدادات / التفضيلات | البناء والتنفيذ والنشر | النشر
هناك الكثير من العمل المتوقع في هذا الاتجاه. الآن ، كما ترون ، فإن خيارات تحديد موقع الكود مباشرةً على الجهاز البعيد غير مدعومة ، ولا يوجد أي دعم لنظام التحكم في الإصدار عن بُعد ، ولا يوجد أي تكامل مع الجهاز البعيد ، وهناك العديد من العيوب الطفيفة في إعداد الاتصال نفسه. ولكن الشيء الرئيسي هو -
التطوير عن بعد مع CLion أصبح ممكنًا الآن!تحليل أداء الرمز المخصص
يوفر CLion 2018.3 القدرة على تحليل أداء التعليمات البرمجية. على نظام Linux ، يتم توفير التكامل مع
Perf ؛ على نظام
macOS ، مع
DTrace . الإجراء الجديد متاح في قائمة التشغيل ، وفي لوحة التنقل وفي قائمة السياق لرموز تشغيل التطبيق. تتوفر نتائج إنشاء ملفات تعريف التعليمات البرمجية في نافذة Profiler CPU (عرض | أداة Windows | CPU Profiler).

اقرأ المزيد حول ما تحتاج إلى تثبيته على جهاز الكمبيوتر الخاص بك حتى تعمل ملفات تعريف التعليمات البرمجية ، أو اقرأ
المدونة أو
الوثائق عبر الإنترنت .
تجدر الإشارة إلى أن واجهة المستخدم / تجربة المستخدم لا تزال تجريبية إلى حد ما. من المخطط أن تتحسن بشكل كبير في الإصدارات 2019.x. ولكن هناك بالفعل أشياء مفيدة ، مثل القدرة على رؤية جميع الخيوط معًا أو واحدة في وقت واحد ، والقدرة على الانتقال إلى شفرة المصدر ، إلخ.
بناء وإعادة بناء الأوامر
نما عدد المجموعات المختلفة لأوامر البناء إلى درجة أننا قررنا وضعها جميعًا في عنصر قائمة منفصل - إنشاء. يوجد التجميع / إعادة التجميع للمشروع بأكمله ، والهدف
all
من الكل أو من ملف تعريف CMake المحدد والتكوين المحدد وملف واحد محدد:

هذا ، بالطبع ، هو ل CMake. بالنسبة لقاعدة بيانات الترجمة ، سيكون هناك أمر إعادة إنشاء لملف معين فقط.
حوارات عالمية: تشغيل أي شيء والبحث في كل مكان
يتعرف مستخدمو CLion على مربع الحوار Search Everywhere (
Double Shift
) لفترة طويلة ، وكذلك مع مربع الحوار Find Action (
Ctrl+Shift+A
/ )
Ctrl+Shift+A
) للبحث عن أمر أو إعداد بالاسم ، ومربعات حوار للتنقل إلى ملف أو رمز أو فئة حسب الاسم. والآن هذا هو في الواقع نفس الحوار!

تحولت مربعات الحوار المنفصلة إلى علامات تبويب منفصلة ، ويعمل التبديل من خلال
Tab
. في الوقت نفسه ، قمنا بإزالة عدد من المشكلات المرتبطة بمربعات الحوار هذه ، بما في ذلك فقدان التركيز والأحجام غير الصحيحة.
حوار عالمي جديد آخر هو تشغيل أي شيء (
Double Ctrl
). منه ، يمكنك تشغيل التطبيق في الوضع العادي أو من تحت مصحح الأخطاء ، وكذلك فتح أي مشروع:

الشيكات في compilation_database.json
قاعدة بيانات التجميع هي نموذج تصميم بديل تدعمه CLion لبعض الوقت. أنها مريحة للغاية حيث
يمكنك الحصول عليها من أي نموذج تصميم آخر ، شعبي أو حتى مخصص. يمكن لـ CLion فتح المشاريع من قاعدة بيانات الترجمة ، وتحليل الرمز بشكل صحيح وتوفير جميع الوسائل الذكية للعمل مع الكود. الطرح الوحيد هو نقص المعلومات حول تجميع المشروع بأكمله بهذا التنسيق ، حتى الآن سيتم جمع الملفات الفردية فقط من IDE.
في هذا الإصدار ، أضفنا مخططًا للملفات comp__database.json إلى CLion ، واستناداً إلى هذا المخطط ، تم بالفعل إجراء عمليات تدقيق في الملف نفسه. على سبيل المثال ، النوع غير الصحيح لقيمة الخاصية أو الخاصية المفقودة بشكل عام:

يمكن أن تكون الشيكات مفيدة للغاية إذا كنت لا تزال تقرر كتابة مثل هذا الملف يدويًا أو تصحيح ملف موجود.
محرر الأداء والاختبارات
في العديد من عمليات التفريغ من مستخدمينا ، لوحظ أن هناك مشاكل كبيرة في أداء IDE مرتبطة بالطريقة التي يحدد بها IDE قائمة الاختبارات المتوفرة في المشروع. في الإصدار 2018.3 ، جعلنا هذه العملية كسولة ، والآن ، إذا لم تفتح أي ملفات اختبار في المحرر ، فلن تتم فهرستها. بالإضافة إلى ذلك ، تم إجراء تحسينات في الأداء عند الانتقال إلى نتائج الاختبار ، والإكمال التلقائي لوحدات اختبار الاختبار ، إلخ.
تحسينات المحرر
كما تعلمون ، في نافذة Quick Documentation (
Ctrl+Q
/
F1
) ، لا يمكن لـ CLion إظهار الوثائق والتعليقات البرمجية فقط ، ولكن أيضًا الأنواع المستنبطة للمتغيرات والاستبدال النهائي في وحدات الماكرو. يتم الآن تنسيق البحث النهائي هذا ، ويتم تمييز الكلمات الرئيسية فيه. مفيد جدًا لوحدات الماكرو المعقدة ذات مستويات التداخل المتعددة ، على سبيل المثال لـ Boost:

يمكن أن تكون تعليقات TODO الآن متعددة الأسطر ، الشيء الرئيسي هو وضع مسافة بادئة للسطرين الثاني واللاحق - سيفهم CLion تلقائيًا أن هذا جزء من تعليق TODO:

هناك مستخدمون لا تكون السمات القياسية ملائمة لهم ، نظرًا لعدم وجود تباين كافٍ لديهم. لقد أضفنا لهم موضوعًا خاصًا عالي التباين. يمكن تمكينه فقط في محرر الكود (Ctrl + `) أو IDE بأكمله (الإعدادات / التفضيلات | المظهر والسلوك | المظهر | المظهر).

مع IntelliJ Platform ، قمنا بإعادة تصميم قائمة إعدادات المكون الإضافي في IDE (الإعدادات / التفضيلات | الإضافات). أصبح الآن من الأسهل بكثير الحفاظ على الإضافات المثبتة محدثة ، وكذلك فرز وتصفية مستودع ضخم من الإضافات الحالية لـ IDE.
نظام التحكم في الإصدار
هناك تغيير رئيسي آخر في النظام الأساسي وهو الدعم الذي طال انتظاره لوحدات
Git الفرعية . الآن يتم أخذ جميع العمليات الخاصة بالعمل مع VCS في CLion في الاعتبار من خلال وحدات فرعية: استنساخ مشروع ، تحديثه ، مقارنة الإصدارات (فرق) ، إلخ.
تمت إضافة نافذة
طلبات سحب GitHub ، حيث لا يمكنك فقط عرض جميع طلبات السحب ، ولكن أيضًا يمكنك البحث / فلترةها حسب المؤلف أو الحالة. ويمكنك إنشاء فرع جديد من أي طلب سحب بنقرة واحدة فقط.
تجريبي
فيديو تقليدي حول الميزات الجديدة لـ CLion 2018.3 باللغة الإنجليزية:
ماذا بعد؟
في العام المقبل ، نخطط لمواصلة العمل على محرك اللغة الإضافي الثاني استنادًا إلى Clangd - دعنا نرى ميزات IDE الأخرى التي يمكننا تنفيذها عليها. سنعمل على تحسين إنتاجية المحرر وإنهاء وتحسين الميزات الحالية ؛ يبدو عمل دعم التطوير عن بُعد في CLion متنوعًا بشكل خاص. من عمليات التكامل ، نخطط لتنسيق clang ، وربما هذا أو ذاك المصحح لـ Windows / MSVC.
وسيكون التركيز الأساسي بالنسبة لنا هو
التطوير المضمن . في الآونة الأخيرة ،
انضم Elmot ، مؤلف البرنامج المساعد للدعم الشائع للغاية في CLion
OpenOCD + STM32CubeMX ، إلى فريقنا. سوف تستمر Ilya في دمج هذه الوظيفة في IDE ، لكننا نعتزم إكمال عرض الذاكرة وإعادة تكوين العرض السداسي في المستقبل القريب جدًا.
أسئلة ، رغبات ، تقارير الأخطاء والأفكار فقط تعبر عن التعليقات! سنكون سعداء للرد.
فريق JetBrains CLion الخاص بكمحرك لتطوير