محرر الكود المصدر
قد يكون القسم التمهيدي للمقالة قصيرًا جدًا بحيث لا يمكن تلخيص النقاط الرئيسية بشكل كافٍ . ( سبتمبر 2024 ) |
محرر الكود المصدر هو برنامج محرر نصوص مصمم خصيصًا لتحرير الكود المصدر لبرامج الكمبيوتر . قد يكون تطبيقًا مستقلاً أو قد يكون مدمجًا في بيئة تطوير متكاملة (IDE).
سمات
تحتوي محررات أكواد المصدر على ميزات مصممة خصيصًا لتبسيط وتسريع كتابة أكواد المصدر، مثل تمييز بناء الجملة ، والمسافة البادئة ، والإكمال التلقائي ، ووظيفة مطابقة الأقواس . توفر هذه المحررات أيضًا طريقة ملائمة لتشغيل المترجم أو المفسر أو المصحح أو أي برنامج آخر ذي صلة بعملية تطوير البرامج . لذا، في حين يمكن استخدام العديد من محررات النصوص مثل Notepad لتحرير أكواد المصدر، إلا أنها ليست محررات أكواد مصدر إذا لم تعمل على تحسين أو أتمتة أو تسهيل تحرير الكود .
محررو البنية عبارة عن شكل مختلف من محررات التعليمات البرمجية المصدرية، حيث يتم التلاعب ببنية التعليمات البرمجية، والتي تكون عادةً شجرة بناء الجملة المجردة ، بدلاً من تحرير النص الخام . في هذه الحالة، يتم تنفيذ ميزات مثل تمييز بناء الجملة والتحقق وتنسيق التعليمات البرمجية بسهولة وكفاءة من شجرة بناء الجملة الملموسة أو شجرة بناء الجملة المجردة، ولكن التحرير غالبًا ما يكون أكثر صرامة من النص الحر. تتطلب محررات البنية أيضًا دعمًا واسع النطاق لكل لغة، وبالتالي يصعب توسيعها إلى لغات جديدة مقارنة بمحرري النصوص، حيث يتطلب الدعم الأساسي فقط دعم تمييز بناء الجملة أو المسافة البادئة. لهذا السبب، لا تحظى محررات البنية الصارمة بشعبية لتحرير التعليمات البرمجية المصدرية، على الرغم من أن بعض بيئات التطوير المتكاملة توفر وظائف مماثلة.
يمكن لمحرر الكود المصدري التحقق من بناء الجملة أثناء إدخال الكود وتحذير المستخدم على الفور من وجود مشاكل في بناء الجملة. يقوم عدد قليل من محرري الكود المصدري بضغط الكود المصدري، وتحويل الكلمات الرئيسية الشائعة عادةً إلى رموز أحادية البايت ، وإزالة المسافات البيضاء غير الضرورية، وتحويل الأرقام إلى شكل ثنائي. يقوم محررو التجزئة هذا لاحقًا بفك ضغط الكود المصدري عند عرضه، وربما طباعته بشكل جميل مع استخدام الأحرف الكبيرة والمسافات بشكل متسق. يقوم عدد قليل من محرري الكود المصدري بكلا الأمرين. [ بحاجة لمصدر ]
يسمح بروتوكول خادم اللغة ، الذي استُخدم لأول مرة في Visual Studio Code من Microsoft ، لمحرري التعليمات البرمجية المصدرية بتنفيذ عميل LSP يمكنه قراءة معلومات بناء الجملة حول أي لغة باستخدام خادم LSP. يسمح هذا لمحرري التعليمات البرمجية المصدرية بدعم المزيد من اللغات بسهولة من خلال تمييز بناء الجملة وإعادة الهيكلة والعثور على المرجع. [1] أضاف العديد من محرري التعليمات البرمجية المصدرية مثل Neovim [2] و Brackets [3] عميل LSP مدمجًا بينما يدعم محررون آخرون مثل Emacs [4] و vim [5] و Sublime Text [6] عميل LSP عبر مكون إضافي منفصل.
تاريخ
This section needs expansion. You can help by adding to it. (March 2024) |
في عام 1985، أنشأ مايك كاوليشو من شركة IBM برنامج LEXX أثناء عمله في دار نشر جامعة أكسفورد . استخدم برنامج LEXX التحليل المباشر واستخدم الألوان والخطوط لتسليط الضوء على بناء الجملة. كان برنامج LPEX (محرر التحليل المباشر القابل للتوسيع) [7] من شركة IBM قائمًا على LEXX وكان يعمل على أنظمة VM/CMS و OS/2 و OS/400 و Windows و Java [8]
على الرغم من أن الإصدار العام الأولي لـ vim كان في عام 1991، إلا أن ميزة تمييز بناء الجملة لم يتم تقديمها حتى الإصدار 5.0 في عام 1998. [9] [ مصدر أفضل مطلوب ]
في عام 2003، أصدر Don Ho برنامج Notepad++ ، وهو محرر أكواد مصدرية لنظام Windows. وكان الهدف من ذلك إنشاء بديل لمحرر أكواد المصدر المستند إلى Java، JEXT [10]
في عام 2015، أصدرت Microsoft برنامج Visual Studio Code كبديل خفيف الوزن ومتعدد المنصات لبرنامج Visual Studio IDE. [11] في عام 2016، أصبح برنامج Visual Studio Code منتج Microsoft الذي يستخدم بروتوكول خادم اللغة. [1]
مقارنة مع بيئات التطوير المتكاملة
محرر الكود المصدري هو أحد مكونات بيئة التطوير المتكاملة. وعلى النقيض من محرر الكود المصدري المستقل، تتضمن بيئة التطوير المتكاملة عادةً أيضًا مصحح أخطاء وأدوات بناء.
يفضل بعض المطورين محرري أكواد المصدر المستقلين على بيئات التطوير المتكاملة عندما يعتقدون أن بيئات التطوير المتكاملة مليئة بالميزات التي لا يحتاجون إليها. [12]
أمثلة بارزة
- الذرة [13]
- الأقواس [13]
- كسوف
- إيماكس
- جيديت
- نت بينز
- Notepad++ [13] (نظام التشغيل Windows فقط)
- سليك إيديت
- نص سامي [13]
- TextMate (macOS فقط)
- برنامج UltraEdit [13]
- في / فيم
- كود فيجوال ستوديو [13]
الجدل
لقد شارك العديد من محرري أكواد المصدر وبيئات التطوير المتكاملة في جدالات مستمرة بين المستخدمين، والتي يشار إليها أحيانًا باسم "الحروب المقدسة" من قبل مجتمع البرمجة. [14] [ بحاجة لمصدر أفضل ] تشمل الأمثلة البارزة vi مقابل Emacs و Eclipse مقابل NetBeans . شكلت هذه الجدالات جزءًا كبيرًا من ثقافة الإنترنت وغالبًا ما تبدأ كلما تم ذكر أي محرر في أي مكان.
انظر أيضا
- بيئة التطوير المتكاملة
- مقارنة بيئات التطوير المتكاملة
- مقارنة بين ملاعب الكود المصدري عبر الإنترنت
- مقارنة بين محررات النصوص § ميزات البرمجة
- مقارنة بين محرري الكود المصدري المستند إلى JavaScript
- مقارنة بين محرري الهيكس
- مقارنة بين محرري HTML
- قائمة محررات النصوص
- حرب المحررين
مراجع
- ^ ab Krill, Paul (27 يونيو 2016). "Microsoft-backed Language Server Protocol strives for language, tools interoperability". InfoWorld . تم الاسترجاع في 19 يونيو 2022 .
- ^ "وثائق LSP - Neovim". neovim.io . تم الاسترجاع في 19 يونيو 2022 .
- ^ Shubham, Yadav. "Language Server Protocol Support in Brackets · adobe/brackets Wiki". GitHub . تم الاسترجاع في 19 يونيو 2022 .
- ^ "وضع LSP - دعم بروتوكول خادم اللغة لـ Emacs - وضع LSP - دعم LSP لـ Emacs". emacs-lsp.github.io . تم الاسترجاع في 19 يونيو 2022 .
- ^ Devlieghere, Jonas (22 أبريل 2018). "استخدام LSP و clangd في Vim". Jonas Devlieghere . تم الاسترجاع في 19 يونيو 2022 .
- ^ "الصفحة الرئيسية - وثائق بروتوكول خادم لغة النصوص السامية". lsp.readthedocs.io . مؤرشف من الأصل في 12 يونيو 2022 . تم الاسترجاع 19 يونيو 2022 .
- ^ "دليل مستخدم محرر LPEX - الإصدار 4" (PDF) . IBM . تم الاسترجاع في 19 يونيو 2022 .
- ^ Mike Cowlishaw FREng BSc CEng FIET FBCS CITP, IBM، تم أرشفته من الأصل في 2006-10-18 ، تم استرجاعه في 20 يونيو 2022
- ^ "تاريخ فيم". جوفيكا إيليتش . 5 يونيو 2014.
- ^ Orin, Andy (18 يونيو 2015). "Behind The App: The Story Of Notepad++". Lifehacker Australia . تم الاسترجاع في 17 يونيو 2022 .
- ^ Somasegar, S (4 يوليو 2015). "مقدمة إلى Visual Studio Code وVisual Studio 2015 RC وApplication Insights Public Preview و.NET Core Preview لنظامي Linux وMac - مدونة Somasegar - الصفحة الرئيسية للموقع - مدونات MSDN". blogs.msdn.com/ . Microsoft. مؤرشف من الأصل في 4 يوليو 2015 . تم الاسترجاع 17 يونيو 2022 .
- ^ بيتريلي، نيكولاس (11 فبراير 2003). "برنامج تحرير النصوص جافا لنظام لينكس". عالم الكمبيوتر . تم الاسترجاع في 17 يونيو 2022 .
- ^ abcdef "سوق محرر النصوص العالمي حسب نوع المنتج (مستند إلى السحابة، ومستند إلى الويب) وحسب المستخدمين النهائيين/التطبيق (المؤسسات الكبيرة، والشركات الصغيرة والمتوسطة الحجم) حصة السوق العالمية، وبيانات التنبؤ، والتحليل المتعمق، والنظرة العامة التفصيلية، والتوقعات، 2013-2026".
تشمل الجهات الفاعلة الرئيسية العاملة في سوق محرر النصوص: Visual Studio Code، وNotepad++، وSublime، وBrackets، وUltraEdit، وAtom
- ^ "Holy War (Hacker Jargon)". مؤرشف من الأصل في 2012-04-02 . تم استرجاعه في 2016-11-30 .
