القائمة الرئيسية

الصفحات

اساسيات البرمجة - الدرس الرابع- محرر الاكواد البرمجية - code editor

محرر الاكواد البرمجية - IDE code editor




يمكن كتابة الاكواد في أي برنامج محرر نصوص (  Text Editor  ) مثل برنامج (  Notepad  ) الذي يأتي مع الويندوز ولكنه محرر نصوص عادي لا يصلح لتحرير الاكواد البرمجية ولذلك يجب ان نبحث عن محرر خاص بالأكواد البرمجية .


محرر الاكواد البرمجية (   IDE   )

التعريف: - IDE = Integrated Development Environment وهو برنامج لكتابة ال Code ويحتوي على بيئة عمل فيها الأدوات البرمجية التي تحتاجها كلها وكل IDE مختلف عن الآخر وهذا ما يميزه عن أي Text Editor عادي يحتاج لإضافة Extensions إضافية للحصول على هذه المميزات والمميزات تختلف من IDE للآخر.


المميزات: -


Compiler

Interpreter

Version Control

Intelligent Code Completion

Error Check & Debugging

FTP Client

Refactoring

Database Management

Class and Object

Library Dependencies

 

 

Linting

Multiple Language Support

 



Compiler

يمكن أن نقول عليه المحول البرمجي أو مترجم ال Codes وهو المسؤول عن تحويل ال Source Code وهو ال Code الذي تقوم بكتابته إلى Code يفهمه ال Computer مباشرة لأن ال Code الذي تقوم بكتابته بلغة من لغات ال High Level Programming Languages مثلا يكون Code قريب للإنسان ومفهوم وغير مكتوب بلغة ال Computer ولذلك لابد من وجود ال Compiler لعمل هذا التحويل من لغة البرمجة التي تكتب بها الى Machine Code.


Interpreter

هو المترجم الذي يقوم بتشغيل الكود البرمجي مباشرة بدون تحويله للغة الكمبيوتر ويمكن أن يكون ال IDE يحتوي على Compiler أو Interpreter أو الإثنين معا.


Version Control

هو نظام التحكم في الإصدارات الخاصة بالتطبيق البرمجي الذي تقوم بعمله وهذه ميزة لا غنى عنها حيث يمكنك الرجوع لأي إصدار في التطبيق والرجوع لأي ملف قديم وكل شيء يكون محمي وهناك نسخة منه حتى لا تحدث أي مشاكل أثناء البرمجة ومن أهم المواقع التي تقدم هذه الخدمة موقع مثل Github, Gitlab.


Intelligent Code Completion

وهو النظام الذكي لإكمال ال Code حيث أنه هناك الكثير من البرامج التي تساعدك في إكمال ال Code وليس هذا فقط بل تكتب لك جميع دوال اللغة Functions بما فيها المدخلات الموجودة داخل الدالة ويكون فيها مرجع كامل للغة وليس فقط إكمال للكود Code بل يمكن أن تكتب Function معينة وتجد تعريف كامل بها وماذا تقبل وكل ما يخصها بالتفصيل.


Error Check & Debugging

وهو ميزة التنبيه على وجود خطأ معين أثناء الكتابة وليس هذا فقط بل يكتب لك Report كامل عن المشكلة وفي أي سطر ويختلف هذا التقرير من محرر للآخر حسب مميزاته لكن الميزة موجودة وأيضا ميزة ال Debugging وهي التي تجعلك تضع Breaks داخل ال Code وتجعل البرنامج يمشي عليها خطوة خطوة وترى النتائج لتعرف أين المشكلة وما هي ال Function أو ال Code المسبب لهذه المشكلة حتى تتعقبه وتصل للحل.


FTP Client

وهو البرنامج المسؤول عن رفع الملفات لموقعك وكلمة FTP إختصار ل File Transfer Protocol وهو ال Protocol المسؤول عن رفع الملفات تنزيلها والتعديل عليها في موقعك أو ال Server الخاص به وهو ليس الوسيلة الوحيدة يمكنك رفع الملفات مباشرة من خلال لوحة تحكم الموقع cPanel مثلا لكن ميزة وجود هذه الطريقة في ال IDE هي أنه عند التعديل على أي ملف وعمل حفظ يقوم برفعه مباشرة للموقع بدلا من إستعمال برنامج خارجي بعد الإنتهاء وهي ميزة مهمة جدا جدا لمن يعمل على ملفات موقعه Online مباشرة ولا يعمل على ال Localhost


Refactoring

وهي ميزة إعادة هيكلة ال Code البرمجي وليس السلوك الخاص بالبرنامج بمعنى تغيير المسميات لتكون أكثر منطقية وسهولة وأكثر تنظيما وهي تستخدم لتقليل التعقيد ولا تقوم بتغيير مميزات التطبيق البرمجي فمثلا لو كان عندك Function تستعمل في كل مكان اسمها make() في حالة تم التعامل معها من أي مبرمج في الفريق لن يفهم معناها ويمكن أن تكون أكثر تعقيدا لو كان اسمها mk() ولذلك تقوم بعمل Refactor كامل لتغيير المسميات الخاصة بها لاسم مناسب للفهم ولتقليل التعقيد makeLetterCapital() مثلا فهنا قمنا بتغيير الاسم في كل مكان لكن لم نقوم بتغيير سمات وسلوك البرنامج نفسه ولن يتغير شيء في التنفيذ. وطبعا ال Refactor ليس فقط تغيير التسمية بل البنية الخاصة بال Code والتعاليم البرمجية فمثلا يمكن أن يكون لديك Function تقوم بعمل مهمة بشكل طويل ومعقد وقابل لظهور مشاكل يمكنك تغييرها لتقوم بعمل نفس المهمة ولكن بسطور اقل وبطريقة سهل عمل صيانة لها وسهل الكشف عن الأخطاء فيها لكن لم نقوم بتغيير سلوك وسمات التطبيق البرمجي. وفي بعض الحالات يمكن أن تقوم بعمل تغييرات طفيفة لحل مشكلة ما أثناء ال Refactor


Database Management

وهي ميزة جميلة ومهمة جدا في التعامل مع قاعدة البيانات مباشرة من تعديل وإنشاء جداول والتعامل مع البيانات جميعها من حذف وتعديل وكتابة استعلامات وكل شيء.


Class and Object

الكثير من المحررات تمكنك من تصفح ال Classes وال Objects الخاصة بك وليس هذا فقط بل يمكنها عمل رسم بياني للبنية الخاصة بالتطبيق الذي تقوم بعمله وتساعدك كثيرا لتنفيذ فكرتك. وهذا مهم جدا لمن يعمل بأي لغة تستعمل ال Object Oriented Programming حتى لا يحدث مشاكل في تنظيم ال Objects وال Classes وهذه ميزة مهمة جدا وفعالة جدا.


Library Dependencies

يحتوي المحرر على كل ما تريده من مكتبات مرتبطة باللغة فمثلا لو كنت تعمل على لغة PHP وتستعمل إطار عمل مثل Laravel أو YII سوف تجد المحرر يحتوى على كل ما يلزمك لإنشاء مشروع بأطر العمل هذه. وفي مجال التصميم تخيل معي أنك تريد عمل مشروع جديد وتستعمل اطار عمل مثل Bootstrap فمجرد إختيارك لمشروع جديد وتختار اطار العمل يقوم بإنشاء المشروع ويستدعي ملفات اطار العمل كلها في مكانها السليم مثلا bootstrap.css و bootstrap.js وال Directory الخاص بال Fonts وهكذا ويسهل عليك الامور كلها.


Linting

وهي ميزة فحص اذا كان ال Code متوافق مع معايير اللغة أم لا وهي طريقة تجعلك تكتب ال Code بطريقة تتماشى مع معايير اللغة عن طريق Pattern معين فعلى سبيل المثال دعنا نأخذ مثال على لغة JavaScript فيمكنك أن تكتب Function معينة وتعمل بشكل سليم ولا يوجد بها أي مشكلة لكن يظهر لك مشكلة أو تنبيه ليخبرك أن ال Statement داخل ال Function لا تحتوي على Semi Colon في نهاية السطر رغم ان ال Code يعمل بنجاح لكن هنا يجعلك تمشي على Pattern معين ليكون ال Code متوافق مع المعايير ويمكنك أن ترى مثال هنا لتفهم الفكرة شاهد الصورة قبل وبعد لترى رغم ان ال Code في الحالتين سوف يخرج نفس النتيجة ولكن في الحالة الأولى أخرج لك أخطاء تنبيهات ال Linter وفي المثال بعده قمنا بتفادي التنبيهات والأخطاء.



Multiple Language Support

وهي الميزة المهمة التي تجعلك تعمل على IDE واحد ولا تحتاج لتنزيل أكثر من برنامج لكتابة ال Code وهي توفير الدعم لأكثر من لغة فتخيل معي لو كنت تعمل ك Full Stack Developer وتحتاج لأن تعمل على لغة مثل PHP أو Python وتحتاج في نفس الوقت لعمل الجزء الخاص بال Front-End بواسطة Html, Css, JavaScript وهي ميزة جميلة لدعم اللغات كلها في نفس البرنامج.



بعض الميزات الأخرى التي يمكنك القراءة عنها: -


Build Automation                                          Code Sniffing                                      Code Highlight


أشهر برامج (IDEs) التي يمكنك التعامل معها


Visual Studio              ATOM              Notepad++     Netbeans        PHP Storm     Aptana Studio

Komodo IDE               Coda                Eclipse            Sublime Text              TextMate        Brackets

        Vim    TextWrangler             CoffeeCup       Espresso         UltraEdit         BBEdit


في الحقيقة انا افضل التعامل مع (Visual Studio) و (ATOM) و (Notepad++)  حيث انني بدأت ب (Notepad++)   وانتهيت ب (Visual Studio) وهذا يعتمد على مدى الارتياح للمحرر الذي تفضل التعامل معه ولكن الأفضل والاقوى من وجهة نظري (Visual Studio) لما يتميز به من مميزات كثيرة وهنا سأركز فقط على مميزات هذا المحرر ويمكنك البحث في الانترنت على مميزات المحررات الأخرى وتقرر أي محرر ستختار التعامل معه.


ماذا يمكنك أن تفعل مع Visual Studio؟


باستخدام Visual Studio، يمكنك إنشاء أي تطبيق أو لعبة أو إضافة باستخدام أي لغة من اختيارك. تعرف على الميزات التي ستعزز إنتاجيتك وتحسن جودة الكود البرمجي وتضيف إلى مرونة التعاون مع فريق العمل.


  • ·         تطوير الكود البرمجي

التنقل والكتابة وإصلاح التعليمات البرمجية الخاصة بك بسرعة

  • ·         تصحيح الكود البرمجي

التصحيح والتشخيص بسهولة

  • ·         اختبار الكود البرمجي

اكتب كودًا عالي الجودة باستخدام أدوات اختبار شاملة

  • ·         التعاون مع فريق العمل

استخدم التحكم في الإصدار، وكن مرنًا ، وتعاون بكفاءة

  • ·         الإضافات

اختر من بين آلاف الملحقات لتخصيص IDE الخاص بك

  • ·         قواعد البيانات

تطوير ونشر قواعد بيانات SQL Server وAzure SQL بسهولة

  • ·         تصميم التطبيقات

أنشئ تطبيقات أصلية أو مختلطة تستهدف Android وiOS وWindows

  • ·         تصميم الالعاب

قم بتصميم ألعاب الكود وتصحيحها باستخدام أحدث الرسومات وأدوات البرمجة النصية

  • ·         تطبيقات الويب

طوّر تطبيقات ويب حديثة بمرونة وأدوات مفتوحة المصدر وقوية


أهم إضافات Visual Studio Code


Open-In-Browser

VSCode لا يتوفر على خاصية فتح الملفات مباشرة على المتصفح، فهذه الإضافة Open In Browser ستتيح لك فتح الملفات على المتصفح الافتراضي من المحرر، أو اختيار المتصفح بشكل يدوي عبر سطر الأوامر الخاص بالمحرر.


Quokka

إضافة Quokka تساعدك لعمل Debugging بشكل سهل ومباشر على الكود الذي تكتبه. فهي تُظهر لك نتيجة المتغيرات وخرج الدوال. فهذه الإضافة سهلت الإعدادات وتشتغل مع JSX و TypeScript.


Faker

Faker أداة تتيح لك إضافة بيانات تجريبية –وهمية- بشكل سريع، فهي تستطيع توليد الأسماء، العناوين، الصور، أرقام الهواتف، وكذلك جمل إنشائية بشكل عشوائي. وتحتوي على تصنيفات متعددة مع إمكانية التحكم في البيانات حسب الحاجة.


CSS Peek

مع هذه الإضافة سيصبح إنتقالك بين تعريفات CSS سهل جداً، يكفي أن تحدد ID أو Class التي تريد مشاهدة CSS خاصته واختيار الذهاب إلى التعريف وسيتم توجيهك إلى تعريف CSS بشكل مباشر.


HTML Boilerplate

إضافة HTML Boilerplate ستختصر الوقت أثناء كتابة وسم head و body، فبعد تثبيت هذه الإضافة يكفيك كتابة html والضغط على زر Tab وسيتم توليد هيكلة لصفحة HTML كاملة.


Prettier

هذه الإضافة أكيد ستعجبك، فهي تقوم بعمل تحسين لعرض الكود بشكل تلقائي، فمثلاً عن الاشتغال ضمن فريق ستجد أن كل مطور يكتب الكود بنمطه Style الخاص. فبهذه الإضافة يمكنها عمل Formatter للكود الخاص ب JS و CSS لتحسين العرض ليكون شكل الكود موحد.


Color Info

إضافة صغيرة تمكنك من عرض المعلومات الخاصة بالألوان في CSS. يكفي فقط تمرر الفأرة على رمز الكود الخاص باللون لتظهر لك نافذة بها كافة المعلومات المتعلقة بهذا اللون.


SVG Viewer

ستتيح لك هذه الإضافة فتح صيغ الصور SVG بشكل مباشر بدون الاستعانة ببرنامج خارجي. مع إمكانية تحويلها إلى صيغة PNG وإنشاء رابط URI لها.


TODO Highlight

هذه الأداة ستقوم بتحديد كافة تعليقات TODO لجعلها بارزة ليسهل التوجه إليها وإنجازها إذا لم تنجز بعد. بشكل افتراضي يتم تحديد كلمات TODO و FIXME لكن يمكنك تخصيص الكلمات على حسب حاجتك.


Icon Fonts

Icon Fonts إضافة صغيرة تتيح لك إمكانية تضمين خطوط الأيقونات عبر CDN. فهي تدعم أكثر من 20 نوع من الخطوط المعروفة ومن بينهم Font Awesome,، Ionicons، Glyphicons، وكذلك أيقونات الماتريال ديزاين.


Minify

إضافة مهمة ستحتاجها أثناء عملية الإنتاج، فهي تمكنك من إنتاج ملفات مصغرة minify لملفاتك، هذه الإضافة تدعم JavaScript، CSS، وكذلك HTML.


Change Case

يُخول لك VSCode تحويل النصوص من النصوص ذات الأحرف الصغيرة lowercase إلى الأحرف الكبيرة uppercase أو العكس. لكنه لا يتوفر على أي تحويل متقدم للنصوص، لكن إضافة Change Case سيمكنك عمل تغييرات أكثر على النصوص، كعمل camelCase، kebab-case، snake_case وغيرها من الأنماط الأخرى.


Regex Previewer

إضافة رائعة للتعابير القياسية Regex ، فهي تمكنك من تجربة التعبير القياسية بشكل مباشرة على النصوص، مع تحديد كل النصوص التي تنطبق عليها هذا التعبير القياسي Regex .


لغات البرمجة ومنصات العمل

يأتي VSCode مع دعم للعديد من لغات البرمجة، فإذا وجدت بأن المحرر لا يدعم لغتك بشكل افتراضي فيمكنك تحميل إضافة خاصة بهذه اللغة والتي ستجعل من السهل الاشتغال عليها داخل المحرر. فبعض منصات العمل كـ react native و vue يتوفرون على إضافات لدعمهم.


الثيمات Themes

أكيد أن الثيمات من الأكثر الإضافات أهمية، فهي الإضافة التي تظهر لك طوال الوقت أمام المحرر. لذا فعليك حسن اختيارها. يوجد كم هائل من التخصيصات التي يمكنك تنصيبها ومن بينهم :


Auto Close Tag

تساعدك إضافة JsHint على الارتقاء بالكود البرمجي الجافا سكربت بشكل أفضل، إن كنت مبرمج جافاسكربت ( و فريمووركاتها أيضا ) و تستخدم محرر أكواد VS Code فيجب عليك تضمين هذه الإضافة، تسمح لك إضافة JsHint بالتعرف على الأخطاء في الكود الخاص بك، تصحيح و تكملة الأكواد أيضا، كما يمكنها القيام بعملية Debug للكود البرمجي، ستسهل عليك هذه الإضافة كتابة كود جافاسكربت صحيح و نظيف و فعال باحترافية، يمكنك التحكم الكامل فيها أيضا فيمكنك تشغيلها تارة و تعطيلها تارة اخرى، تمتد JsHint الى القيام بنفس العملية في بعض اللغات الاخرى مثل HTML و CSS .


IntelliSense

إضافة اخرى مهمة لمطوري الويب، تسمح لك هذه الإضافة باستخراج كل أسماء الكلاسات في الـ HTML و الـ CSS التي تم استخدامها في مشروعك البرمجي، و أيضا كلاسات الإطارات الخارجية التي تتعامل معها مثل Bootstrap و غيرها، ثم تقوم بتكملتها لك في الكود الخاص بك، لست مضطرا - كما في السابق - لتذكر أسماء الكلاسات من أجل استخدامها، أصبح بإمكانك ان تكتب حرف b في الـ Attribute Class ليظهر لك عدة خيارات لكل الكلاسات المستخدمة في المشروع البرمجي، إضافة جد مميزة لمطوري الويب .


MsSQL

إضافة خاصة بالتعامل مع SQL Server و قواعد البيانات و إرسال الـ Queries و تنظيمها و ما الى ذلك، إن كنت تتعامل مع قواعد البيانات، ففي الغالب ستوجد تجربة بعض الـ Queries و التحقق من صحتها و التحقق من عملها قبل ادراجها في لغة برمجية معينة مثل الـ Php او C# و غيرها، هذه الإضافة على VS Code تسمح لك بإدارة قواعد البيانات و تحويل الـ VS Code الى منصة شبيه بالـ SQL Server، إضافة مميزة لمن يتعامل مع قواعد البيانات بشتى أشكالها من أجل تجسيد و تجربة الاكواد في قواعد البيانات .


Code Runner

إضافة جد مميزة، تخيل معي انك في صدد كتابة كود جافا سكربت، و تريد التحقق من عمله أم لا، ما عليك فعله هو تضمينه في إحدى صفحات الـ HTML ثم تشغيل الصفحة و استخراج الـ Console و التحقق من نتيجة الكود البرمجي الذي كتبته للتو، أمر قد يكون صعبا قليلا، فتأتي إضافة Code Runner لتسهيل العملية بشكل كامل، يكفي بعد تنصيب الإضافة بالطبع ان تقوم بتضليل الجزء الذي تريد تشغيله من الكود البرمجي، ثم النقر يمينا و البحث عن Run Code ثم ستظهر لك في الأسفل كونسول مخصص سيُظهر لك نتيجة الكود البرمجي او الخطأ ان كان، يمكنك فعل ذلك مع العديد من اللغات البرمجية و ليس فقط الجافا سكربت، فالإضافة تدعم العديد من اللغات منها الـ C , C++ , Ruby , Java و غيرها .


Project Manager

في محررات أكواد أخرى مثلا Sublime او Bracket و غيرها، يمكنك فتح أزيد من مشروع في نوافذ مختلفة، قد يبدو الأمر مزعجا خصوصا ان اردت فتح 3 او 4 مشاريع، فسيصبح الأمر متكدسا عليك و نوافذ عديدة، في برنامج VS Code يمكنك فعل نفس الشيء، لكن يمكنك فعل شيء أفضل، استخدام إضافة Project Manager، تسمح لك هذه الإضافة بفتح أزيد من مشروع برمجي في مشروع واحد، و الانتقال بينها بكل سهولة عبر تبويب في الأعلى، بذلك تنظيم أكبر لمشاريعك البرمجية سلاسة في التحويل بينها و الانتقال من مشروع لآخر.


Material Theme

حبوبي الحبوب، هو الثيم او الستايل الذي أستخدمه شخصيا في الـ VS Code، رغم انه ثيم واحد الا انه يتوفر على أزيد من ستايل، منها الـ Dark و الـ Dark Blue و الـ Light، كلها جيدة، شخصيا أستخدم الـ Dark Blue، ستايل جميل و جذاب، مريح للعين و سهل تتبع الكود بتغييرات اللون المتناسقة، كما بستايل جد جميل معروف و هو الـ Material Design في خواصه الأخرى غير محرر الأكواد، الـ Fonts المستخدمة جيدة كذلك و احترافية .


File Template

إضافة اخرى مميزة ستسهل عليك الكثير والكثير من العمل، في العديد من لغات البرمجية أثناء تهيئة ملف جديد، سيتوجب عليك في كل مرة إضافة العديد و العديد من التهيئات الأولية، مثلا في صفحات الـ HTML ربما سيتوجب عليك إضافة الوسوم الأساسية و بعض الـ Meta و الـ Viewport و غيرها و غيرها، سيبدو الأمر مملا ان قمت به في كل مرة تنشئ ملفا جديدا بهذه الصيغة. هنا تتدخل هذه الإضافة، تسمح لك إضافة File Template بإنشاء ملفات جديدة بتهيئة معينة، يمكننا تسميتها بالـ Master Page التي تريد العمل بها مستقبلا في أي لغة برمجة تريد.


Rainbow Brackets

و نختمها بهذه الإضافة البسيطة التي تسمح لك بإضافة ألوان على الـ Brackets او الأقواس، فالكثير من الأشخاص خصوصا في الكود البرمجي الطويل يعانون من مشكلة اختلاط الأقواس مع بعضها البعض فلا تعرف أي قوس ينتمي لأي بداية، لذلك هذه الإضافة ستساعدك على إضافة ألوان لأقواس محددة من أجل تحديد بداية و نهاية كل كود، إضافة بسيطة لكنها جميلة و احترافية و ستساعدك كثيرا.


Live Server

وهي إضافة مخصصة لعرض الصفحة عرض مباشر في كل عملية حفظ تقوم بها للملف الحالي، وذلك من خلال إنشاء سيرفر مؤقت لتشفير الصفحة في المتصفح في نفس الوقت الذي تقوم بإجراء تعديلات على الكود الخاص بالملف.


Auto Rename Tag

تساعد هذه الإضافة مبرمجين لغة HTML تحديداً وذلك من خلال تطبيق اي تغييرات على اسماء الوسوم وتطبيقها على كل من وسم الفتح والإغلاق تلقائياً.


Auto Close Tag

تساعد هذه الإضافة الأشخاص الذين يعملون بلغة البرمجة HTML حيث تقوم بإغلاق الوسم الذي تقوم بفتحه تلقائياً دون الحاجة لإغلاقه بالطريقة اليدوية التي تكون في بعض الأحيان مزعجة على كل مبرمج.


CSS Formatter

إن الوظيفة الأساسية لهذه الإضافة هي عملية ترتيب اكواد الـ CSS من خلال إضافة مسافات لجعل الكود اجمل وقابل للقراءة.


PHP Formatter

تعمل هذه الإضافة نفس عمل الإضافة التي قبلها، حيث تقوم بترتيب الأكواد المكتوبة بلغة البرمجة PHP من اجل جعلها تبدو اجمل وقابلة للقراءة.


JS & CSS Minifier

تقوم هذه الأداة بضغط ملفات الـ CSS والـ JavaScript لجعلها اصغر حجماً لكي يتم إستخدامها في مشاريعك التي تحتاج فيها تحميل ملفات اصغر حجماً من ما هي عليه.


هل اعجبك الموضوع :

تعليقات