
والمثير للدهشة أنه حتى الآن على Habré لا يوجد اختيار جيد للمكونات الإضافية لـ Visual Studio Code لأولئك الذين يكتبون في C / C ++. نشرت Microsoft في مدونتها مقالة فقط ، وهو مستوى أساسي للغاية مع إرشادات الإعداد. ولكن معظم القراء من هبر ، وخاصة من المطورين ، سوف تفعل ذلك دون تعليمات مفصلة. لا يوجد سوى مجموعات قليلة لمطوري الويب ، ولكن ليس لـ C ++.
ربما يرجع هذا إلى حقيقة أن معظم مطوري C ++ يستخدمون IDEs للوزن الثقيل ، وبالطبع ، Visual Studio.
لكن في نظامي التشغيل Linux و MacOS مع IDEs الكامل ، كل شيء ليس بهذه البساطة ، وليس هناك حاجة دائمًا إلى بيئة تطوير صعبة أو لا يريد استخدامه.
أريد أن ألفت انتباهك إلى المكونات الإضافية المفيدة التي تجعل الحياة والعمل أسهل ، فضلاً عن التحدث عن الإعدادات والميزات المفيدة لكود VS Code التي قد تفقدها.
مسألة النظر في IDE VS Code أو مجرد محرر الشفرة ككامل شمولي ليس غرض هذه المقالة. ما زلت سأعتبره IDE ، كما هو الحال مع الحد الأدنى من الجهد ، فهو يوفر برامج نصية IDE أساسية ، مثل الإكمال التلقائي والتصحيح.
قليلا من التاريخ
أول IDE الذي استخدمته عند البدء كمطور كان ، بالفعل ، Borland C ++ 2.0. ثم انتقلت إلى Visual Studio 6.0 وبقيت (وما زلت) مروحة من هذا IDE. لكن في مرحلة ما أصبح من الضروري الكتابة تحت Linux (ربما كان عام 2006). في نظام Linux ، في البداية ، شعرت بالصدمة بسبب عدم وجود IDE جاد - لقد جربت Eclipse وعانيت وأبصق. لم أدخل التاريخ ، لكن في النهاية اكتشفت Make ، CMake ، تعلمت كيفية كتابة الملفات المناسبة بسرعة ، ثم كانت هناك نصوص رابط ، gdb ، kdb والعديد من الأشياء المثيرة للاهتمام. في هذا الوقت ، أحببت واستعملت vim بنشاط لمدة 5 سنوات ، وبعد ذلك انتقلت تدريجياً إلى Sublime Text ، ثم إلى نسخته الثانية ، والآن إلى الإصدار الثالث.
الآن أكتب رمزًا أقل ، وأكثر انخراطًا في تطوير المنتجات والعمليات ، ولكن لا يزال يتعين علي الكتابة بشكل دوري - هذه مشاريع شخصية ومساعدة شركائنا على تضمين SDK لدينا.
ونظرًا لأن SDK لا يقتصر فقط على نظامي Windows ، ولكن أيضًا لنظامي التشغيل Linux و MacOS ، يجب كتابة التعليمات البرمجية فيه. في العام الماضي جربت VS Code وأصبحت بديلاً جيدًا للنص Sublime بالنسبة لي.
قم بمقارنتها باختصار ، ثم يقدم Sublime Text ، برأيي الشخصي ، المزيد من الخيارات للإعداد والعمل ، لكن VS Code تعطي المزيد من العلبة. وإذا لم يكن لديك اختيار شخصي من الإضافات الخاصة بـ Sublime Text في متناول اليد ، أو إذا لم تستخدم هذا المحرر مطلقًا ، فسيكون Visual Studio Code شيئًا رائعًا.
سأبدأ مع بعض الملحقات مفيدة للغاية. لا يوجد الكثير منها لمطور C \ C ++ في VS Code ، وأهمها بالطبع:
C / C ++ للرمز Visual Studio
رابط السوق
هذا هو الملحق الرئيسي لدعم C \ C ++ في VS Code ، والذي يتم تطويره بواسطة Microsoft. يوجد وصف مفصل لكل شيء تقدمه في الصفحة الموجودة في السوق ، لكن هنا سأذكر فقط أهم شيء (في رأيي ، بالطبع):
- تنسيق الشفرة (باستخدام تنسيق clang)
- إكمال تلقائي
- البحث عن الشخصيات عن طريق الرمز
- انتقل إلى التعريف / الإعلان (بما في ذلك نظرة خاطفة)
- فئة / طريقة الملاحة
- توقيع المساعدة
- معلومات سريعة (تحوم)
- خطأ تمايل
دعم تصحيح الأخطاء لتطبيقات Windows (PDB و MinGW / Cygwin) و Linux و macOS
المقال الرئيسي من مايكروسوفت حول التمديد وقدراته مع الصور الجميلة هنا -
رابط .
تجدر الإشارة إلى أن Microsoft من كبار الزملاء وتقوم باستمرار بتحديث هذا الامتداد. علاوة على ذلك ، يتم نشر ميزات جديدة لهذا الامتداد فقط على مدونة dev من Microsoft وليست ملحوظة للغاية. لذلك ، قررت أن أخبر هنا عن أحدث منهم.
الإعدادات العامة لبرنامج التحسس الذكي
في مايو 2018 ، أضاف VS Code القدرة على تعيين أي معلمات لـ IntelliSense في إعدادات المستخدم. json. يتم تطبيق هذه الإعدادات تلقائيًا على جميع المشاريع.
شيء مفيد للغاية عندما تستخدم معظم المشروعات التي تعمل معها مجموعة شائعة من المترجم نفسه المترجم وما إلى ذلك.

دعم المحطة المضمنة للتصحيح
في ديسمبر 2018 ، أضافت Microsoft القدرة على تصحيح تطبيقات C / C ++ في الجهاز المدمج ، بدلاً من فتح نافذة منفصلة مع الجهاز. يتم التحكم في هذه الميزة بواسطة المعلمة externalConsole في launch.json.

حتى الآن ، يتم دعم cppdbg فقط وفقط على نظامي Linux و Windows ، ولكن على نظام MacOS وعدوا أيضًا بتسليمه قريبًا. يبدو مثل هذا:

تعليقات للوثائق
تمت إضافة هذا الشيء حرفيًا في الشهر الماضي. لا يوجد حقاً ما أخبرنا به هنا ، فما عليك سوى إعطاء مثال من Microsoft.
نكتب فئة Box بسيطة ونضيف التعليقات بالتنسيق القياسي:

يرتبط التعليق بالفئات أو الوظائف بأعضاء الفصل ويتم عرضه في تلميحات الأدوات عند التمرير فوق الكائن المقابل.
يبدو مثل هذا:

العمل مع الحاويات
في آخر تحديث في 6 فبراير ، أضافت شركة Microsoft العمل مع C ++ في حاويات Docker. الآن لا يمكنك فقط جمع التعليمات البرمجية في الحاويات ، ولكن يمكنك أيضًا تصحيحها داخل الحاويات. التفاصيل موجودة
على مدونة Microsoft .
أنا شخصياً لا أستخدم حاويات للعمل - ليست هناك حاجة. ولكن بالتأكيد سيكون مفيدًا للكثيرين ، لذلك قررت تضمين هذا في المقال.
حسنًا ، عد الآن إلى الملحقات الأخرى لنظام VS Code ، والذي سيساعدك في التطوير.
استفسار
رابط السوقمكون إضافي عالمي إلى حد ما لمطور C / C ++ / Objective-C في VS Code. الميزة الرئيسية - تم تصميم الامتداد واختباره في مشاريع كبيرة جدًا ، على سبيل المثال ، على Chromium. لذلك ، من المفيد أن يكون الامتداد القياسي من Microsoft وتمرير التحسس الذكي (يحدث هذا غالبًا عندما يكون لديك أكثر من 100 ميجابايت من مصادر C ++).
قائمة جميع الميزات الرئيسية هي كما يلي:
في البداية كنت أرغب في ترجمة هذه القائمة ، ولكن بعد ذلك أدركت أن معظم المفاهيم لا تحتوي على ترجمات جميلة مقبولة بشكل عام ، لذلك قررت تركها كما هي. اتبع الروابط للحصول على وصف أكثر تفصيلا وعرضا لميزات محددة.
التمديد مفيد للغاية ، لكن لم يكن هناك أي نشاط على جيثب منذ نوفمبر 2018. واستنادا إلى القضية -
هل هذا المشروع ميت؟ # 867 توقف المشروع حقا في التنمية. تم الحصول على البانر بواسطة
https://github.com/MaskRay/ccls fork ، لكنني لم أختبرها بعد ، لذلك لا يمكنني التوصية بها. على الأرجح سوف يحل ccls بدلاً من طلب البحث بمرور الوقت.
مشاريع سهلة C ++
رابط السوقإذا كانت الإضافتان السابقتان عالميتين مع العديد من الميزات ، فإن هذا يؤدي وظيفة بسيطة - إنشاء مشروع بسيط لـ MSVC أو GCC أو Clang.
قادر بالإضافة إلى ذلك:
- إنشاء makefile عينة للمشروع
- إنشاء تكوينات VS Code لبناء وتشغيل
- إنشاء تكوينات VS Code للتصحيح (مدعوم بواسطة Visual Studio Debugger و GDB و LLDB)
- توليد فصول جديدة من قائمة صغيرة من القوالب
إنه مفيد لكل من المبتدئين والمطورين ذوي الخبرة. سيساعد ذلك في طرح مشروع Helloworld البسيط عندما تحتاج إلى فحص شيء بسرعة.
يعمل مثل هذا:

أدوات CMake
رابط السوقكما يوحي الاسم ، يضيف الامتداد دعمًا لـ CMake. كما هو موضح في التعليقات ، يمكنك بالطبع وصف كل شيء يدويًا ، ولكن مع التمديد سيكون أكثر ملاءمة.
بعد التثبيت ، ستحتاج إلى تكوين الحد الأدنى. حدد toolchain:

ثم حدد التكوين للتجميع:

وهذا كل شيء. يمكنك العمل.
يعرف الملحق أيضًا كيفية إنشاء ملفات CMake بسيطة للمشاريع.
شجرة تودو
رابط السوقهناك العديد من الملحقات لإنشاء قوائم TODO لرمز VS. يمكنك اختيار أي. اعجبني أكثر من أي شيء آخر. العيب الوحيد هو أنه يتطلب
https://github.com/BurntSushi/ripgrep ، والذي لا يكون دائمًا خارج الصندوق ولا يناسب وضعه. ليست موجودة في مستودعات دبيان القياسية.
تبدو نتيجة العمل كما يلي:

جيتلينز
رابط السوقكما يوحي اسم التمديد ، فإنه يحسن العمل مع بوابة. تجدر الإشارة إلى أنه افتراضيًا ، يوجد VS Code بالفعل بعض الدعم لـ git ، ولكنه محدود جدًا.
الميزة الرئيسية لـ GitLens يتم عرضها مباشرة في السطر الذي تم تعديله والذي وفي أي التزام قام بتغييره في المرة الأخيرة. يضيف الامتداد أيضًا بحثًا متقدمًا عن محفوظات الملفات ، والبحث عن الإلتزامات ، وطريقة ملائمة لمقارنة عدة إصدارات من الملف ، وأكثر من ذلك بكثير. لإثبات العمل ، أنا فقط أدخل صورة gif من صفحة السوق ، والتي تعرض بوضوح خيارات التوسعة.

بوابة التاريخ
رابط السوقملحق آخر يعمل على تحسين العمل باستخدام git ، أي عرض التاريخ. لماذا في GitLens لم أستطع أبدًا العثور على عرض مناسب لتاريخ المشروع مع جميع الفروع. إذا كان هناك من يعرف كيفية عمل طريقة عرض مماثلة (انظر أدناه) باستخدام GitLens ، فتأكد من كتابة التعليقات ، وسأكون ممتنًا للغاية.

الرموز vscode
رابط السوقأحد الإضافات العديدة التي تضيف أيقونات للملفات والدلائل إلى لوحة Explorer. هناك الكثير من الملحقات في السوق ، وهذا هو الأكثر شعبية. لا تتردد في اختيار أي دولة أخرى ، وأنا أحب هذه الرموز.

مزامنة الإعدادات
رابط السوقملحق آخر مفيد ، والغرض منه واضح من الاسم.
لمزامنة الإعدادات الخاصة بك ، استخدم الرمز المميز لحساب GitHub و Gist. بالنسبة لي شخصيًا ، إنها واحدة من أكثر الإضافات المفيدة ، حيث أنني أستخدم كلا من Windows و Linux و Mac.
كود المدقق الإملائي
رابط السوقإذا كانت لغتك الإنجليزية لا تزال بعيدة عن المثالية أو كنت ترغب في منع الأخطاء المطبعية ، فلن يكون هذا الامتداد زائداً بالتأكيد. إذا لزم الأمر ، يمكنك إضافة دعم
للغة الروسية .
من الميزات اللطيفة - لا تشدد فقط على الكلمات الخاطئة ، ولكنها توفر أيضًا الخيارات الصحيحة.

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

الميزات الرئيسية للخدمة مجانية ولا تتطلب الاشتراك.
هذا كل شيء مع ملحقات. أود أيضًا مشاركة بعض الإعدادات المفيدة في VS Code نفسها ، والتي قد تكون مفيدة للمجتمع.
بعض الإعدادات المفيدة
تبعًا للإعدادات الافتراضية ، يرسل VSCode القياس عن بُعد عند تعطله ، بالإضافة إلى بعض بيانات الخطأ والمعلومات في Microsoft. إذا كان هذا لا يناسبك لسبب ما ، فقم بإيقاف تشغيل الإعدادات بأمان:
- القياس عن بعد: تمكين تقرير الأعطال
- القياس عن بعد: تمكين القياس عن بعد
كما أنصح الجميع بتمكين ملفات الحفظ التلقائي. الأمر عادي ، لكن من الصعب إنكار فائدته. لقد أنقذت أكثر من مرة. لسبب ما ، يتم إيقاف تشغيله بشكل افتراضي.
يتضمن الإعداد التالي عرض الأحرف غير القابلة للطباعة في التعليمات البرمجية. في رأيي الشخصي ، إنه شيء مفيد للغاية سيسمح لك أن تلاحظ على الفور أن الملف في المشروع التالي مهيأ بعلامات جدولة ، وليس بمسافات. وبصفة عامة ، سيسمح لك ذلك بإشعار شخصيات إضافية حيث يجب ألا تكون.
لمن يحب التمرير السلس:
إظهار المتغيرات مباشرة في التعليمات البرمجية أثناء تصحيح الأخطاء. شيء آخر مفيد للغاية ، والذي يتم إيقاف تشغيله لسبب ما. ربما يكون معظم الأشخاص ذوي العيون الكبيرة قد لاحظوا بالفعل مثالًا على كيفية عمل هذا الإعداد في إحدى لقطات الشاشة السابقة ، ولكن في حالة حدوث ذلك ، سأطبق واحدًا آخر

لقد وجدت ما يلي وضع نفسي فقط عند كتابة مقال. يتيح لك ZenMode إخفاء جميع النوافذ والقوائم غير الضرورية وترك ملف التعليمات البرمجية الحالي فقط. الآن سأستخدمها باستمرار على الجهاز اللوحي عندما أحتاج إلى تجربة شيء ما في الكود. على الجهاز اللوحي ، غالبًا ما تكون هناك حاجة إلى بقية النوافذ ، ولا توجد مساحة كافية للاستخدام. أنا أوصي به!
PS
إذا أراد شخص ما مشاركة إضافاته المثيرة للاهتمام الخاصة بـ VS Code أو الانتباه إلى الإعدادات المفيدة - مرحبًا بك في التعليق. يسعدني أن أكمل المقال لجعله أكثر فائدة.