स्रोत-कोड संपादक

स्रोत-कोड संपादक पाठ संपादक प्रोग्राम है जिसे विशेष रूप से कंप्यूटर प्रोग्राम के सोर्स कोड को संपादित करने के लिए डिज़ाइन किया गया है। यह स्टैंडअलोन एप्लिकेशन हो सकता है या इसे एकीकृत विकास वातावरण (आईडीई) या वेब ब्राउज़र में बनाया जा सकता है। स्रोत-कोड संपादक मूलभूत प्रोग्रामिंग उपकरण हैं, क्योंकि प्रोग्रामर का मौलिक कार्य स्रोत कोड को लिखना और संपादित करना है।

विशेषताएं
स्रोत-कोड संपादकों में विशेष रूप से स्रोत कोड के टाइपिंग को सरल और तेज करने के लिए डिज़ाइन की गई विशेषताएँ होती हैं, जैसे वाक्य - विन्यास पर प्रकाश डालना, इंडेंटेशन शैली, स्वतः पूर्ण और ब्रेस मिलान कार्यक्षमता। ये संपादक सॉफ़्टवेयर-विकास प्रक्रिया के लिए प्रासंगिक संकलक, दुभाषिया (कंप्यूटिंग), डिबगर, या अन्य प्रोग्राम चलाने का सुविधाजनक विधि भी प्रदान करते हैं। इसलिए, जबकि माइक्रोसॉफ्ट नोटपैड जैसे कई पाठ संपादकों का उपयोग स्रोत कोड को संपादित करने के लिए किया जा सकता है, यदि वे कोड के संपादन को बढ़ाते, स्वचालित या आसान नहीं करते हैं, तो वे स्रोत-कोड संपादक नहीं हैं।

संरचना संपादक स्रोत-कोड संपादक का अलग रूप है, जहां अनिर्मित पाठ को संपादित करने के अतिरिक्त, कोड की संरचना में हेरफेर किया जाता है, इस स्थिति में सिंटैक्स हाइलाइटिंग, सत्यापन और कोड स्वरूपण जैसी विशेषताएं आसानी से और कुशलता से कंक्रीट सिंटैक्स ट्री या अमूर्त सिंटैक्स ट्री से लागू की जाती हैं, किंतु संपादन अधिकांशतः फ्री-फॉर्म टेक्स्ट की तुलना में अधिक कठोर होता है। संरचना संपादकों को भी प्रत्येक भाषा के लिए व्यापक समर्थन की आवश्यकता होती है, और इस प्रकार पाठ संपादकों की तुलना में नई भाषाओं का विस्तार करना कठिन होता है, जहां मूल समर्थन के लिए केवल सिंटैक्स हाइलाइटिंग या इंडेंटेशन का समर्थन करने की आवश्यकता होती है। इस कारण से, सख्त संरचना संपादक स्रोत कोड संपादन के लिए लोकप्रिय नहीं हैं, चूँकि कुछ आईडीई समान कार्यक्षमता प्रदान करते हैं।

स्रोत-कोड संपादक कोड अंकित करते समय सिंटैक्स की जांच कर सकता है और तुरंत सिंटैक्स समस्याओं की चेतावनी दे सकता है। कुछ स्रोत-कोड संपादक स्रोत कोड को संकुचित करते हैं, सामान्यतः सामान्य खोजशब्दों को सिंगल-बाइट टोकन में परिवर्तित करते हैं, अनावश्यक व्हाट्सएप को हटाते हैं, और संख्याओं को बाइनरी रूप में परिवर्तित करते हैं। इस तरह के टोकनिंग संपादक बाद में इसे देखते समय स्रोत कोड को असम्पीडित करते हैं, संभवतः इसे लगातार पूंजीकरण और रिक्ति के साथ सुंदर रूप से प्रिंट करते हैं। कुछ स्रोत-कोड संपादक दोनों कार्य करते हैं।

माइक्रोसॉफ्ट के विजुअल स्टूडियो कोड में पहली बार उपयोग किया जाने वाला भाषा सर्वर प्रोटोकॉल, स्रोत कोड संपादकों को एलएसपी क्लाइंट को लागू करने की अनुमति देता है जो एलएसपी सर्वर के साथ किसी भी भाषा के बारे में सिंटैक्स जानकारी पढ़ सकता है। यह स्रोत कोड संपादकों को सिंटैक्स हाइलाइटिंग, रीफैक्टरिंग और संदर्भ खोज के साथ आसानी से अधिक भाषाओं का समर्थन करने की अनुमति देता है। कई स्रोत कोड संपादक जैसे कि नियोविम और कोष्ठक ने अंतर्निहित एलएसपी क्लाइंट जोड़ा है जबकि अन्य संपादकों जैसे ईएमएसीएस, विम, और उदात्त पाठ अलग प्लग-इन के माध्यम से एलएसपी क्लाइंट के लिए समर्थन है।

इतिहास
1985 में, आईबीएम के माइक कोविलिशॉ ने ऑक्सफोर्ड यूनिवरसिटि प्रेस के लिए पृष्ठांकन करते हुए लेक्सक्स (टेक्स्ट एडिटर) बनाया। लेक्सक्स (पाठ संपादक) हाइलाइटिंग के लिए लाइव पार्सिंग और उपयोग किए गए रंग और फोंट का उपयोग किया। आईबीएम का एलपीईएक्स (लाइव पार्सिंग एक्स्टेंसिबल एडिटर) लेक्सक्स पर आधारित था और वीएम (ऑपरेटिंग सिस्टम) | वीएम/सीएमएस, ओएस/2, आईबीएम आईएलओएस | ओएस/400,माइक्रोसॉफ़्ट विंडोज़, और जावा वर्चुअल मशीन पर चलता था

चूँकि विम (पाठ संपादक) की प्रारंभिक सार्वजनिक रिलीज़ 1991 में हुई थी, सिंटैक्स हाइलाइटिंग सुविधा को 1998 में संस्करण 5.0 तक प्रस्तुत नहीं किया गया था।

2003 में, विंडोज के लिए स्रोत कोड संपादक, नोटपैड ++, डॉन हो द्वारा जारी किया गया था। जावा पर आधारित स्रोत कोड संपादक, जेईएक्सटी के लिए विकल्प बनाना था

2015 में, माइक्रोसॉफ्ट ने विजुअल स्टूडियो कोड को उनके विजुअल स्टूडियो आईडीई के हल्के और क्रॉस-प्लेटफॉर्म विकल्प के रूप में जारी किया। 2016 में, विजुअल स्टूडियो कोड भाषा सर्वर प्रोटोकॉल का उपयोग कर माइक्रोसॉफ्ट उत्पाद बन गया।

आईडीई के साथ तुलना
स्रोत-कोड संपादक एकीकृत विकास परिवेश का घटक है। स्टैंडअलोन स्रोत-कोड संपादक के विपरीत, आईडीइ में सामान्यतः डिबगर और निर्माण उपकरण भी सम्मिलित होते हैं।

कुछ डेवलपर्स द्वारा स्टैंडअलोन स्रोत कोड संपादकों को आईडीई पर पसंद किया जाता है, जब उनका मानना ​​​​है कि आईडीई उन विशेषताओं से फूला हुआ है जिनकी उन्हें आवश्यकता नहीं है।

उल्लेखनीय उदाहरण

 * परमाणु (पाठ संपादक)
 * कोष्ठक (पाठ संपादक)
 * ग्रहण (सॉफ्टवेयर)
 * इमेक्स
 * जीएडिट
 * नेटबीन्स
 * नोटपैड++ (केवल विंडोज़)
 * स्लिकएडिट
 * उदात्त पाठ
 * टेक्स्टमैट (केवल मैकओएस)
 * अल्ट्राएडिट
 * vi/विम (पाठ संपादक)
 * विजुअल स्टूडियो कोड

विवाद
कई स्रोत-कोड संपादक और आईडीई चल रहे उपयोगकर्ता तर्कों में सम्मिलित रहे हैं, जिन्हें कभी-कभी प्रोग्रामिंग समुदाय द्वारा "पवित्र युद्ध" के रूप में संदर्भित किया जाता है। उल्लेखनीय उदाहरणों में vi बनाम इमेक्स और ग्रहण (सॉफ़्टवेयर) बनाम नेटबीन्स सम्मिलित हैं। इन तर्कों ने इंटरनेट संस्कृति का महत्वपूर्ण भाग बना लिया है और वे अधिकांशतः तब प्रारंभ होते हैं जब किसी भी संपादक का कहीं भी उल्लेख किया जाता है।

यह भी देखें

 * एकीकृत विकास पर्यावरण
 * एकीकृत विकास वातावरण की तुलना
 * ऑनलाइन स्रोत कोड खेल के मैदानों की तुलना
 * जावास्क्रिप्ट-आधारित स्रोत कोड संपादकों की तुलना
 * हेक्स संपादकों की तुलना
 * एचटीएमएल संपादकों की तुलना
 * पाठ संपादकों की सूची
 * संपादक युद्ध
 * संपादक युद्ध