محرر شفرة المصدر
محرر شفرة المصدر هو برنامج لتحرير النصوص مصمم خصيصًا لتحرير شفرة المصدر لبرامج الحاسوب . يتضمن وظائف أساسية مثل تمييز بناء الجملة، وأحيانًا تصحيح الأخطاء. قد يكون تطبيقًا مستقلًا أو جزءًا من بيئة تطوير متكاملة (IDE). [ 1 ]
سمات
تتميز برامج تحرير الشيفرة المصدرية بميزات مصممة خصيصًا لتبسيط وتسريع كتابة الشيفرة المصدرية، مثل تمييز بناء الجملة (تمييز أخطاء بناء الجملة)، والمسافة البادئة التلقائية ، والإكمال التلقائي، ووظيفة مطابقة الأقواس . كما توفر هذه البرامج طريقة ملائمة لتشغيل المترجم ، أو المفسر ، أو مصحح الأخطاء ، أو أي برنامج آخر ذي صلة بعملية تطوير البرمجيات . وبينما يمكن استخدام العديد من برامج تحرير النصوص، مثل المفكرة، لتحرير الشيفرة المصدرية، إلا أنها لا تُصنف كبرامج تحرير شيفرة مصدرية إذا لم تُحسّن أو تُؤتمت أو تُسهّل عملية التحرير .
محررات البنية هي شكل مختلف من محررات شفرة المصدر، حيث يتم فيها تعديل بنية الشفرة، وتحديدًا شجرة بناء الجملة المجردة ، بدلًا من تحرير النص الخام . في هذه الحالة، تُطبَّق ميزات مثل تمييز بناء الجملة، والتحقق من صحة الشفرة، وتنسيقها بسهولة وكفاءة من شجرة بناء الجملة الملموسة أو المجردة، إلا أن التحرير غالبًا ما يكون أكثر تقييدًا من تحرير النصوص الحرة. كما تتطلب محررات البنية دعمًا شاملًا لكل لغة، مما يجعل توسيعها ليشمل لغات جديدة أصعب من محررات النصوص، حيث يقتصر الدعم الأساسي على تمييز بناء الجملة أو المسافة البادئة. لهذا السبب، لا تحظى محررات البنية الصارمة بشعبية كبيرة في تحرير شفرة المصدر، على الرغم من أن بعض بيئات التطوير المتكاملة (IDEs) توفر وظائف مشابهة.
يستطيع محرر الشيفرة المصدرية التحقق من بناء الجملة ديناميكيًا أثناء إدخال الشيفرة، والتنبيه فورًا إلى أي مشاكل في بناء الجملة، بالإضافة إلى اقتراح مقاطع شيفرة مُكمّلة تلقائيًا. تقوم بعض محررات الشيفرة المصدرية بضغط الشيفرة، حيث تحوّل الكلمات المفتاحية الشائعة إلى رموز أحادية البايت ، وتزيل المسافات البيضاء غير الضرورية، وتحوّل الأرقام إلى صيغة ثنائية . ثم تقوم هذه المحررات بفك ضغط الشيفرة المصدرية عند عرضها، وربما تنسيقها بشكل مُنسّق مع الحفاظ على تناسق الأحرف الكبيرة والصغيرة والمسافات. وتقوم بعض محررات الشيفرة المصدرية بالأمرين معًا.
يُتيح بروتوكول خادم اللغة (LSP) ، الذي استُخدم لأول مرة في برنامج Visual Studio Code من مايكروسوفت ، لمحرري أكواد المصدر إمكانية تطبيق عميل LSP قادر على قراءة معلومات بناء الجملة لأي لغة مزودة بخادم LSP. وهذا يُسهّل على محرري أكواد المصدر دعم المزيد من اللغات مع ميزات تمييز بناء الجملة، وإعادة هيكلة الكود، والبحث عن المراجع. [ 2 ] وقد أضافت العديد من محررات أكواد المصدر، مثل Neovim [ 3 ] وBrackets [ 4 ]، عميل LSP مدمجًا، بينما تدعم محررات أخرى، مثل Emacs [ 5 ] و Vim [ 6 ] و Sublime Text [ 7 ] ، عميل LSP عبر إضافة منفصلة.
تاريخ
في عام ١٩٨٥، ابتكر مايك كوليشو من شركة IBM برنامج LEXX أثناء انتدابه إلى مطبعة جامعة أكسفورد . استخدم LEXX التحليل المباشر، كما استخدم الألوان والخطوط لتمييز بناء الجملة. واستند برنامج LPEX (محرر التحليل المباشر القابل للتوسيع) من IBM [ ٨ ] إلى LEXX ، وكان يعمل على أنظمة VM/CMS و OS/2 و OS/400 وويندوز وجافا [ ٩ ] .
على الرغم من أن الإصدار العام الأول لبرنامج vim كان في عام 1991، إلا أن ميزة تمييز الصيغة لم تُضَف إلا في الإصدار 5.0 عام 1998. [ 10 ] وفي 1 نوفمبر 2015، تم إصدار النسخة الأولى من NeoVim . [ 11 ]
في عام 2003، أصدر دون هو برنامج Notepad++ ، وهو محرر أكواد مصدرية لنظام التشغيل ويندوز. وكان الهدف من ذلك هو إنشاء بديل لمحرر الأكواد المصدرية JEXT القائم على لغة جافا [ 12 ].
في عام ٢٠١٥، أصدرت مايكروسوفت برنامج Visual Studio Code كبديل خفيف الوزن ومتعدد المنصات لبيئة التطوير المتكاملة Visual Studio . [ ١٣ ] وفي العام التالي، أصبح Visual Studio Code المنتج الوحيد لمايكروسوفت الذي يستخدم بروتوكول خادم اللغة. [ ٢ ] وسرعان ما اكتسب محرر الأكواد هذا شعبية واسعة، ليصبح محرر الأكواد المصدرية الأكثر استخدامًا. [ ١٤ ]
مقارنة مع بيئات التطوير المتكاملة
يُعدّ محرر شفرة المصدر أحد مكونات بيئة التطوير المتكاملة. وعلى عكس محرر شفرة المصدر المستقل، تتضمن بيئة التطوير المتكاملة عادةً العديد من الأدوات التي تُحسّن عملية تطوير البرمجيات. [ 1 ] تشمل هذه الأدوات تمييز بناء الجملة، واقتراحات الإكمال التلقائي للشفرة، والتحكم في الإصدار، والتنسيق التلقائي، وبيئات التشغيل المتكاملة، ومصحح الأخطاء، وأدوات البناء. [ 15 ]
يفضل بعض المطورين استخدام محررات أكواد المصدر المستقلة على بيئات التطوير المتكاملة (IDEs) عندما يعتقدون أن بيئات التطوير المتكاملة مليئة بالميزات التي لا يحتاجونها. [ 16 ]
أمثلة بارزة
- أتوم – محرر نصوص من جيت هاب
- براكتس – محرر لتطوير مواقع الويب
- إكليبس - بيئة تطوير البرمجيات
- إيماكس – عائلة من محررات النصوص
- جيديت – محرر نصوص لينكس
- كيت – محررة نصوص
- نت بينز – برنامج بيئة تطوير متكاملة لتطوير البرمجيات
- Notepad++ – محرر نصوص ومحرر أكواد مصدرية لنظام التشغيل ويندوز
- SlickEdit – محرر نصوص وبيئة تطوير متكاملة متعددة المنصات
- Sublime Text – محرر النصوص
- TextMate – محرر نصوص واجهة المستخدم الرسومية لنظام التشغيل macOS
- UltraEdit – محرر النصوص والملفات السداسية العشرية
- محرر النصوص vi – محرر نصوص موجه نحو لوحة المفاتيح
- فيم – نسخة محسّنة من محرر النصوص في
- بيئة تطوير متكاملة من مايكروسوفت، Visual Studio Code
الجدل
انخرطت العديد من محررات شفرة المصدر وبيئات التطوير المتكاملة في نقاشات مستمرة بين المستخدمين، والتي يُطلق عليها أحيانًا في أوساط مجتمع المبرمجين اسم "الحروب المقدسة" من باب الدعابة. [ 17 ] ومن الأمثلة البارزة على ذلك المقارنة بين vi وEmacs، و Eclipse و NetBeans . وقد شكلت هذه النقاشات جزءًا هامًا من ثقافة الإنترنت ، وغالبًا ما تبدأ بمجرد ذكر أيٍّ من هذين المحررين.
انظر أيضاً
- بيئة تطوير متكاملة
- مقارنة بيئات التطوير المتكاملة
- مقارنة بين منصات اختبار أكواد المصادر على الإنترنت
- مقارنة بين محررات النصوص § ميزات البرمجة
- مقارنة بين برامج تحرير الملفات السداسية العشرية
- مقارنة بين محررات لغة HTML
- قائمة بحزم البرامج المجانية والمفتوحة المصدر § محررات شفرة المصدر
- قائمة بيئات التطوير المتكاملة
- قائمة محررات النصوص
- حرب المحررين
مراجع
- 1 2 "الفرق بين بيئة التطوير المتكاملة ومحرر الأكواد" . GeeksforGeeks . 15-11-2024 . تم الاطلاع عليه بتاريخ 14-12-2025 .
- 1 2 كريل، بول (27 يونيو 2016). "بروتوكول خادم اللغة المدعوم من مايكروسوفت يسعى إلى تحقيق التوافق بين اللغات والأدوات" . إنفوورلد . تم الاطلاع عليه في 19 يونيو 2022 .
- ↑ "وثائق بروتوكول اللغة - Neovim" . neovim.io . تم الاطلاع عليه بتاريخ 19 يونيو 2022 .
- ↑ شوبهام، ياداف. "دعم بروتوكول خادم اللغة في براكتس · ويكي أدوبي/براكتس" . جيت هاب . تم الاسترجاع في 19 يونيو 2022 .
- ↑ "وضع LSP - دعم بروتوكول خادم اللغة لـ Emacs - وضع LSP - دعم LSP لـ Emacs" . emacs-lsp.github.io . تم الاطلاع عليه بتاريخ 19 يونيو 2022 .
- ↑ ديفليغير، جوناس (22 أبريل 2018). "استخدام بروتوكول خادم اللغة (LSP) و clangd في Vim" . جوناس ديفليغير . تم الاطلاع عليه بتاريخ 19 يونيو 2022 .
- ↑ "الصفحة الرئيسية - وثائق بروتوكول خادم لغة Sublime Text" . lsp.readthedocs.io . مؤرشف من الأصل بتاريخ ١٢ يونيو ٢٠٢٢. تم الاطلاع عليه بتاريخ ١٩ يونيو ٢٠٢٢ .
- ↑ "دليل مستخدم محرر LPEX - الإصدار 4" (ملف PDF) . شركة IBM . تم الاطلاع عليه بتاريخ 19 يونيو 2022 .
- ↑ مايك كوليشو، زميل الأكاديمية الملكية للهندسة، حاصل على بكالوريوس العلوم، مهندس معتمد، زميل معهد الهندسة والتكنولوجيا، زميل الجمعية البريطانية للحاسبات ، حاصل على شهادة محترف تكنولوجيا المعلومات المعتمد، شركة آي بي إم ، تم الاطلاع عليه في 20 يونيو 2022
{{citation}}: CS1 maint: deprecated archiveal service ( link ) - ↑ "تاريخ فيم" . جوفيكا إيليتش . 5 يونيو 2014.
- ↑ "0.1-first-public-release Milestone · neovim/neovim" . GitHub . تم الاطلاع عليه بتاريخ 29-01-2025 .
- ↑ أورين، آندي (18 يونيو 2015). "خلف التطبيق: قصة Notepad++" . لايف هاكر أستراليا . تم الاطلاع عليه في 17 يونيو 2022 .
- ↑ سوماسيغار، س. (4 يوليو 2015). "مقدمة إلى Visual Studio Code، وVisual Studio 2015 RC، وApplication Insights Public Preview، و.NET Core Preview لنظامي Linux وMac - مدونة سوماسيغار - الصفحة الرئيسية للموقع - مدونات MSDN" . blogs.msdn.com/ . مايكروسوفت. مؤرشف من الأصل في 4 يوليو 2015. تم الاطلاع عليه في 17 يونيو 2022 .
- ↑ "استطلاع رأي مطوري ستاك أوفرفلو لعام 2021" . ستاك أوفرفلو . تم الاطلاع عليه بتاريخ 29 يناير 2025 .
- ↑ "علوم الحاسوب بلغة آدا" . علوم الحاسوب بلغة آدا . تم الاطلاع عليه بتاريخ 14-12-2025 .
- ↑ بيتريلي، نيكولاس (11 فبراير 2003). "برنامج تحرير نصوص جافا لنظام لينكس" . عالم الكمبيوتر . تم الاطلاع عليه في 17 يونيو 2022 .
- ↑ "الحرب المقدسة (مصطلحات القرصنة)" . مؤرشف من الأصل بتاريخ 2012-04-02 . تم الاطلاع عليه بتاريخ 2016-11-30 .
- محررات النصوص
- أدوات البرمجة
- أنواع الأدوات المستخدمة في تطوير البرمجيات
