लिनक्स के लिए C ++ IDE? [बन्द है]


209

मैं अपने प्रोग्रामिंग क्षितिज का विस्तार लिनक्स में करना चाहता हूं। एक अच्छा, भरोसेमंद बुनियादी टूलसेट महत्वपूर्ण है, और एक आईडीई से अधिक बुनियादी क्या है?

मुझे ये SO विषय मिल सकते हैं:

मैं एक हल्के आईडीई की तलाश में नहीं हूं । यदि एक आईडीई पैसे के लायक है, तो मैं इसके लिए भुगतान करूंगा, इसलिए इसे मुफ्त नहीं होना चाहिए।

मेरा प्रश्न, तब:

क्या अच्छा है, C ++ प्रोग्रामिंग IDE लिनक्स के लिए उपलब्ध है?

न्यूनतम मानक काफी मानक हैं: वाक्यविन्यास हाइलाइटिंग, कोड पूरा होने (जैसे कि इंटैलिजेंस या इसके ग्रहण समकक्ष) और एकीकृत डिबगिंग (जैसे, मूल ब्रेकपॉइंट्स)।

मैंने खुद इसके लिए खोज की है, लेकिन बहुत सारे हैं कि अच्छे को हाथ से बुरे से अलग करना लगभग असंभव है, खासकर मेरे जैसे किसी व्यक्ति के लिए जो लिनक्स में कम सी ++ कोडिंग अनुभव है। मुझे पता है कि ग्रहण सी ++ का समर्थन करता है , और मुझे वास्तव में जावा के लिए आईडीई पसंद है, लेकिन क्या यह सी ++ के लिए अच्छा है और क्या यह कुछ बेहतर है?

दूसरी पोस्ट में वास्तव में कुछ अच्छे सुझाव हैं, लेकिन मुझे जो याद आ रहा है वह वही है जो यूजर के लिए सक्सेस्ड आईडीई को इतना अच्छा बनाता है, इसके (डिस) फायदे क्या हैं?

शायद इसलिए मेरा सवाल यह होना चाहिए:

आप किस आईडीई का प्रस्ताव रखते हैं (आपके अनुभव दिए गए), और क्यों?


1
यह, मुझे लगता है, एक या दो दिन में 4 वें "व्हाट्सएप को मुझे लिनक्स पर उपयोग करना चाहिए" सवाल।
बेन कोलिन्स

हो सकता है कि आपको उस तारीख को देखना चाहिए जिस पर यह सवाल पूछा गया था ... या नए सवालों के जवाब यहाँ दें
sven

अंतिम रिलीज़ में, एक्लिप्स ने अपनी रिलीज़ ट्रेन में eclipse.org/linuxtools को एकीकृत किया है - उस प्रोजेक्ट का उद्देश्य लिनक्स पर लिनक्स-विशेष टूल को एकीकृत करके लिनक्स पर पूर्ण रूप से विकसित C / C ++ IDE बनाना है।
जीन होमिनल

जवाबों:


259

शुरू में: भ्रम

जब मूल रूप से यह उत्तर लिख रहा था, तो मैंने हाल ही में विज़ुअल स्टूडियो (अनुभव के वर्षों के साथ) से लिनक्स पर स्विच किया था और मैंने जो पहली चीज़ की, वह एक उचित आईडीई खोजने की कोशिश थी। उस समय यह असंभव था: कोई अच्छी आईडीई मौजूद नहीं थी।

एपिफेनी: यूनिक्स एक आईडीई है। यह सब। 1

और तब मुझे महसूस हुआ कि लिनक्स में IDE अपने टूल्स के साथ कमांड लाइन है:

  • पहले आप अपना खोल सेट करें
  • और आपका संपादक; अपना जहर उठाओ - दोनों कला की स्थिति हैं:

अपनी आवश्यकताओं के आधार पर, आपको संपादक को अच्छी तरह से काम करने के लिए कई प्लगइन्स को स्थापित और कॉन्फ़िगर करना होगा (यह एक कष्टप्रद हिस्सा है)। उदाहरण के लिए, विम पर अधिकांश प्रोग्रामर को स्मार्ट ऑटोकंप्लीशन के लिए YouCompleteMe प्लगइन से लाभ होगा ।

एक बार यह हो, खोल विभिन्न उपकरणों के साथ बातचीत करने के लिए अपने आदेश इंटरफ़ेस है - Debuggers (gdb), Profilers (gprof, valgrind), आदि आप का उपयोग कर अपनी परियोजना / निर्माण पर्यावरण की स्थापना मेक , CMake , SnakeMake या विभिन्न के किसी भी विकल्प। और आप अपने कोड को एक संस्करण नियंत्रण प्रणाली के साथ प्रबंधित करते हैं (अधिकांश लोग Git का उपयोग करते हैं )। आप मल्टीप्लेक्स (= कई विंडो / टैब / पैनल सोचते हैं) और अपने टर्मिनल सत्र को बनाए रखने के लिए tmux (पहले भी स्क्रीन) का उपयोग करते हैं।

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

प्रत्येक अपने स्वयं के लिए

जब आप आदत में शामिल हो जाते हैं तो मैं उपरोक्त वर्कफ़्लो को कितनी अच्छी तरह से पूरा नहीं कर सकता। लेकिन कुछ लोग केवल चित्रमय संपादकों को पसंद करते हैं, और इस उत्तर में मूल रूप से लिखे जाने के बाद से, लिनक्स ने कई अलग-अलग प्रोग्रामिंग भाषाओं के लिए उत्कृष्ट चित्रमय आईडीई का सूट प्राप्त किया है (लेकिन, जहां तक ​​मुझे पता नहीं है, C ++ के लिए)। उन्हें एक कोशिश भी दे - भले ही मेरी तरह - आप अंत में उनका उपयोग न करें। यहाँ सिर्फ एक छोटा और पक्षपाती चयन है:

ध्यान रखें कि यह सूची पूर्ण से बहुत दूर है।


1 मैंने उस शीर्षक को dsm की टिप्पणी से चुरा लिया।

2 मैं यहाँ विम का संदर्भ देता था। जबकि सादा विम अभी भी सक्षम से अधिक है, नेओविम एक आशाजनक पुनरारंभ है, और यह कुछ पुराने मौसा का आधुनिकीकरण है।


223
मैं दृढ़ता से असहमत हूँ। एक सभ्य विचारधारा महत्वपूर्ण है कोई फर्क नहीं पड़ता कि आप क्या काम कर रहे हैं। यह काफी उत्पादकता बढ़ाता है। मैं कोडब्लॉक का उपयोग करता हूं और पाता हूं कि VI में वापस जाना लगभग असंभव है। मैंने मैक, विन और लिनक्स पर कोडित किया है, और हालांकि मुझे सबसे अच्छा आईडीई होने के लिए दृश्य स्टूडियो लगता है, कोडब्लॉक करीब आता है।
डेविड ऑक्ट

35
डेविड, शायद आप विस्तार कर सकते हैं (खुद का जवाब…) क्या आप वास्तव में टूलकिन से गायब हैं जो मैंने वर्णित किया था कि एक आईडीई बचाता है। जैसा कि मैंने कहा है, मैं एक मजबूत आईडीई पृष्ठभूमि से आया हूं और मेरी उत्पादकता में वृद्धि हुई है।
कोनराड रुडोल्फ

48
विम का प्रस्ताव किस तरह का समर्थन करता है? एक्लिप्स (जो लिनक्स के तहत चलता है) में, मैं अपनी इच्छा से किसी भी जावा विधि का नाम बदल सकता हूं, भले ही इसे 300 स्थानों पर कहा जाए। क्या आप इसे विम में आसानी से कर सकते हैं?
मात्रा_देव

25
quant_dev: रिफैक्टरिंग को स्रोत कोड को किसी तरह पार्स करने की आवश्यकता होती है। जहाँ तक मुझे पता है, कोई भी VIM मॉड्यूल ऐसा नहीं करता है जिससे आपके प्रश्न का उत्तर "कोई नहीं" हो। यह IDE- केंद्रित भाषाओं जैसे जावा के लिए IDE पसंद करने के कारणों में से एक है। चूंकि C ++ के लिए समर्थन (आदि) को रिफलैक्ट करना वैसे भी (आईडीई में भी) बहुत कम है, इसलिए यह C ++ पर लागू नहीं होता है।
कोनराड रुडोल्फ

11
@ हसीन: ओह, लेकिन इसके बड़े हिस्से कर सकते हैं । उदाहरण के लिए स्कोप-जागरूक नामकरण। और मेरा विश्वास करो, यह बड़ा है । और Ecplise (जैसे) यहाँ बहुत काम बचा सकता है।
कोनराड रुडोल्फ

86

मेरा व्यक्तिगत पसंदीदा कोडलाइट 2.x IDE है।

देखें: http://www.codelite.org

कोडलाइट का उपयोग करने का निर्णय लिनक्स के लिए निम्नलिखित C ++ IDE के बारे में एक शोध पर आधारित था:

  • सीडीटी प्लगिन के साथ ग्रहण गैलीलियो
  • NetBeans 6.7 (जो SunStudio IDE का आधार भी है)
  • KDevelop4
  • कोडब्लॉक 8.02
  • कोडलाइट 2.x

आखिरकार मैंने कोडलाइट 2.x का उपयोग करने का फैसला किया है ।

नीचे मैंने C ++ IDE के संबंध में कुछ पेशेवरों और विपक्षों को सूचीबद्ध किया है। कृपया ध्यान दें, यह केवल मेरी व्यक्तिगत राय को दर्शाता है!

संपादित करें : क्या अफ़सोस की बात है कि SOF तालिकाओं का समर्थन नहीं करता है, इसलिए मुझे पैराग्राफ में लिखना होगा ...

सीडीटी प्लगिन के साथ ग्रहण गैलीलियो

पेशेवरों:

  • उचित उपवास
  • जावा, पर्ल (EPIC प्लगइन के साथ) का भी समर्थन करता है
  • आमतौर पर इस्तेमाल किया और अच्छी तरह से बनाए रखा
  • अन्य ओएस फ्लेवर (विंडोज, मैकओएस, सोलारिस, एआईएक्स (?)) के लिए भी उपलब्ध

विपक्ष:

  • GUI बहुत भ्रामक और कुछ असंगत है - बिल्कुल सहज नहीं है
  • भारी वजन
  • केवल CVS (AFAIK) का समर्थन करता है

NetBeans 6.7 (ध्यान दें कि यह SunStudio IDE के लिए भी आधार है)

पेशेवरों:

  • सबसे सहज जीयूआई मैंने कभी देखा है
  • जावा, पायथन, रूबी का भी समर्थन करता है
  • CVS, SVN, Mercurial को एकीकृत करता है
  • आमतौर पर इस्तेमाल किया और अच्छी तरह से बनाए रखा
  • अन्य ओएस फ्लेवर (विंडोज, मैकओएस, सोलारिस) के लिए भी उपलब्ध

विपक्ष:

  • बेहद धीमी गति से
  • भारी वजन
  • इंडेंटेशन के लिए स्पेस का उपयोग करता है, जो मेरे काम की पॉलिसी नहीं है। मुझे यकीन है कि यह कॉन्फ़िगर करने योग्य है, लेकिन मैं यह नहीं पता लगा सका कि यह कैसे है

KDevelop4 (ध्यान दें: मैंने इस पर बहुत परीक्षण नहीं किया था)

पेशेवरों:

  • आमतौर पर लिनक्स पर उपयोग किया जाता है
  • CVS, SVN, Mercurial को एकीकृत करता है

विपक्ष:

  • GUI कुछ पुराने ढंग का दिखता है
  • भारी वजन
  • केडीई वातावरण के लिए बहुत विशिष्ट है

कोडब्लॉक 8.02 (ध्यान दें: मैंने इस पर ज्यादा परीक्षण नहीं किया है)

पेशेवरों:

  • उचित उपवास

विपक्ष:

  • GUI कुछ पुराने ढंग की दिखती है (हालाँकि इसमें एक अच्छी स्टार्टअप स्क्रीन है)
  • संपादक में फ़ॉन्ट बहुत छोटे हैं
  • कुछ आइकन (उदाहरण के लिए डिबगर संबंधित आइकन शुरू / स्टेपिंग) बहुत छोटे हैं
  • कोई स्रोत नियंत्रण एकीकरण नहीं है

2. कोडाइट 2.x (ध्यान दें: यह मेरा निजी पसंदीदा है)

पेशेवरों:

  • सबसे अच्छा, आधुनिक दिखने वाला और सहज ज्ञान युक्त जीयूआई मैंने लिनक्स पर देखा है
  • हल्के
  • उचित उपवास
  • SVN को एकीकृत करता है
  • अन्य ओएस फ्लेवर (विंडोज, मैकओएस, सोलारिस (?) पर भी उपलब्ध है)

विपक्ष:

  • कोई सीवीएस एकीकरण नहीं है (यह मेरे लिए महत्वपूर्ण है क्योंकि मुझे काम पर इसका उपयोग करना है)
  • जावा, पर्ल, पायथन के लिए कोई समर्थन नहीं (अच्छा होगा)

14
Eclispe में प्लगइन्स के माध्यम से Hg, Git, SVN और अन्य का समर्थन है। और स्टार्टअप / स्प्लैश स्क्रीन विशाल गेंदों को चूसते हैं। वे संसाधनों को चूसते हैं और बहुत कम लाभ में पेश करते हैं। और वे आम तौर पर ऐप लोड होने की प्रतीक्षा करते समय जो कुछ भी मैं काम कर रहा हूं उसके सामने पॉप अप करता हूं। पोर्टेबलऐप्स और एक्लिप्स से छुटकारा पाने की जरूरत है।
क्रिस के

4
कोडेलिट को डिबगिंग के लिए विज़ुअल स्टूडियो के समान कीबोर्ड शॉर्टकट मिला, जो विजुअल एडिक्ट के लिए बहुत उपयोगकर्ता के अनुकूल है।
राऊल सुपरकॉप्टर

यहां एक पुराने घोड़े की पिटाई हो सकती है, लेकिन IMO ग्रहण का GUI वास्तव में बेजोड़ है। हां, पहली बार में सीखना मुश्किल है, लेकिन यह वीआई की तरह है, जहां स्टीपल लर्निंग कर्व पर चढ़ने के बाद उत्पादकता आसमान छूने लगती है। एक बिंदु साबित करने के लिए, Ctrl + 3 दबाने की कोशिश करें - ग्रहण IMO में बहुत ही भयानक विशेषताओं में से एक।
kizzx2

"विपक्ष: इंडेंटेशन के लिए रिक्त स्थान का उपयोग करता है [...] मुझे यकीन है कि यह कॉन्फ़िगर करने योग्य है, लेकिन मैं यह नहीं पता लगा सका कि यह कैसे करना है।" यह दर्शाता है कि आपने वास्तव में टूल का उपयोग नहीं किया है, अन्यथा, आपको अंततः विकल्प मिल जाता।
जोहान बोउले

5
कोडलाइट अद्भुत है, जैसे डेंटिन आइस गम पर चबाना। यह आपके मुंह में एक ताजा और मिन्टी स्वाद छोड़ देगा। ग्रहण करते समय, विशेषता होने के बावजूद, जब आप इसका उपयोग करते हैं तो स्वाद के बाद आपको यह उल्टी भी देता है। मुझे पता है कि यह कहना बचकाना लगता है, लेकिन इसका उपयोग करने की "भावना" को समझाने के लिए वास्तव में सबसे अच्छा रूपक है। मुझे यकीन है कि अन्य लोग मुझसे सहमत होंगे।
डिडियर ए।

75
  1. कोड :: ब्लाकों
  2. ग्रहण सीडीटी

जल्द ही आप पाएंगे कि आईडीई पर्याप्त नहीं है, और आपको वैसे भी जीसीसी टूलचैन सीखना होगा (जो कठिन नहीं है, कम से कम बुनियादी कार्यक्षमता सीखना)। लेकिन आईडीई, आईएमओ के साथ संक्रमणकालीन दर्द को कम करने में कोई बुराई नहीं है।


+1 कोड कोड और हाँ के लिए, आप निश्चित रूप से कम से कम सीखना चाहते हैं कि कैसे अपने कार्यक्रमों को एक शेल से संकलित करें और चलाएं, कारण कोड :: ब्लॉक में कुछ धुंधलापन है।
अर्लज़

ग्रहण सभी हल्के IMHO, कोड में नहीं है :: ब्लॉक ... बस
rubenvb

7
-1 कोड ब्लॉक के लिए। -1 ग्रहण के लिए। वे दोनों डिबगिंग के दौरान अपने UI को बदलते हैं। उस बिंदु तक जहां एक नौसिखिया उपयोगकर्ता आमतौर पर खोया हुआ महसूस करता है। वे दोनों कांटा नहीं निकाल सकते। उन दोनों को एसवीएन / सीवीएस एकीकरण के साथ बुरा समस्या है। (सबलेक के साथ मिलकर नवीनतम ग्रहण सूक्ति में 4/28/11 को टूट गया है और हर 10 मिनट में दुर्घटनाग्रस्त हो जाता है)। स्रोत नियंत्रण स्थापित करना एक बुरा सपना है और इन IDE के साथ एकीकरण बस उतना ही मुश्किल है।
ब्लेपज़्टर

4
एसवीएन / सीवीएस का उपयोग शुरू करने के लिए @bleepzter -1;)
OneOfOne

1
मर्क्यूरियल, गिट और बाजार जो हर तरह से बहुत बेहतर हैं।
वनऑफऑन

66

एक त्वरित उत्तर, बस इस विषय में थोड़ा और ज्ञान जोड़ने के लिए:
आपको निश्चित रूप से नेटबीन्स की जांच करनी चाहिए । Netbeans 6.7 में निम्नलिखित विशेषताएं हैं:

  • C / C ++ प्रोजेक्ट्स और टेम्प्लेट: सिंटैक्स हाइलाइटिंग, स्वचालित कोड पूरा होने, स्वचालित इंडेंटेशन का समर्थन करता है।
  • इसमें C / C ++ डीबगर है
  • कंपाइलर कॉन्फ़िगरेशन, कॉन्फ़िगरेशन प्रबंधक और मेकफाइल समर्थन (एक विज़ार्ड के साथ) का समर्थन करता है।
  • इसमें एक क्लासेस विंडो, एक यूजेज विंडो और एक फाइल नेविगेशन विंडो (या पैनल) है।
  • एक मैक्रो विस्तार दृश्य , और टूलटिप्स भी ।
  • क्यूटी विकास के लिए समर्थन ।

मुझे लगता है कि यह एक सही (और कहीं बेहतर) विज़ुअल स्टूडियो प्रतिस्थापन है, और C / C ++ सीखने के लिए एक बहुत अच्छा उपकरण है।

शुभ लाभ!


2
यह भी सी ++ के लिए वास्तव में अच्छा है। इसे अब तक का सर्वश्रेष्ठ भाषा पार्सर मिला है।
जोहान बोले

1
मैंने सी + + विकास के लिए ग्रहण से अधिक नेटबीन्स का आनंद लिया।
थॉमस लैंगस्टन

9
NetBeans बहुत अधिक सुखद है तो ग्रहण, मैं वास्तव में चाहता हूं कि अधिक लोग यह महसूस करना शुरू करें।
डिडिएर ए।

1
हफ्तों तक एक्लिप्स से लड़ने के बाद मैंने यह पाया, नेटबीन्स पर स्विच किया और धन्यवाद! यह एक अच्छा इंटरफ़ेस है, अधिक उत्तरदायी, निष्क्रिय और अनुकूलन योग्य है। बीट्स एक्लिप्स हैंड्स डाउन
फ्रेडरिक

1
एक और वोट यहाँ है कि ग्रहण की तुलना में नेटबीन्स कितना बेहतर है। यह अब तक का सबसे अच्छा विम अनुकरण (एक प्लगइन के रूप में) है जिसका मैंने कभी उपयोग किया है।
हालांकि

52

कम से कम क्यूटी विशिष्ट परियोजनाओं के लिए, क्यूटी निर्माता (नोकिया / ट्रोलटेक / डिगिया से) महान वादा दिखाता है।


10
मैं इसे गैर-क्यूटी परियोजनाओं के लिए भी उपयोग करता हूं।
मौका

यह अच्छा है। मैंने इसे आजमाया और इसे बहुत पसंद किया।
टायलर लॉन्ग

32

क्या आप थोड़ा और स्पष्ट कर सकते हैं कि यह आपके लिए कैसा था, आपको क्या बदलना था। हो सकता है कि आप मेरे द्वारा उपयोग की गई जानकारी के लिए कुछ लिंक प्रदान करके मुझे सही दिशा में इंगित कर सकें।

मेरा पहला स्रोत वास्तव में उपकरण थे ' man पृष्ठ थे। बस टाइप करो

$ man toolname

कमांड लाइन पर ( $यहां प्रॉम्प्ट का हिस्सा है, इनपुट नहीं)।

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

मैंने जीवीआईएम का उपयोग किया क्योंकि मेरे पास वहां कुछ (लेकिन बहुत अधिक) पूर्व अनुभव नहीं था, मैं एमएसीएस या विकल्प के बारे में कुछ भी नहीं कह सकता। मुझे लगता है कि यह वास्तव में अन्य लोगों की .gvimrcकॉन्फिग फाइल को पढ़ने में मदद करता है । कई लोग इसे वेब पर डालते हैं। यहाँ मेरा है

एक बार में सभी दूरबीनों को मास्टर करने की कोशिश मत करो, बहुत सारे कार्य हैं। लेकिन एक सामान्य अवलोकन प्राप्त करें ताकि आप जान सकें कि भविष्य में किसी चीज़ की आवश्यकता होने पर उसे कहाँ खोजना है। आप चाहिए , तथापि, के लिए सभी महत्वपूर्ण मापदंडों को पता है g++और ld(जीसीसी लिंकर टूल है जो स्पष्ट रूप से रोका छोड़कर स्वतः शुरू हो जाती है)।

इसके अलावा, मैं उत्सुक हूँ, क्या आपके पास कोड पूरा करने और सिंटैक्स हाइलाइटिंग है जब आप कोड करते हैं?

सिंटेक्स हाइलाइटिंग: हाँ, और विज़ुअल स्टूडियो की तुलना में बहुत बेहतर है। कोड पूरा करना: हाँ- ish । सबसे पहले, मुझे यह स्वीकार करना होगा कि मैंने विजुअल स्टूडियो में भी C ++ कोड पूरा करने का उपयोग नहीं किया क्योंकि (VB और C # की तुलना में) यह कभी भी पर्याप्त नहीं था। मैं अब अक्सर इसका उपयोग नहीं करता लेकिन फिर भी, GVIM को C ++ के लिए मूल कोड पूरा करने का समर्थन है। Ctags पुस्तकालय और प्लग-इन टैगलिस्ट की तरह यह एक आईडीई के साथ संयुक्त है ।

वास्तव में, मुझे जो मिलना शुरू हुआ वह अर्मिन रोनाचेर का एक लेख था । पाठ को पढ़ने से पहले, इसके अंत में स्क्रीनशॉट को देखें!

क्या आपको (सिंटैक्स) त्रुटियां होने से पहले पहले संकलन करना होगा?

हाँ। लेकिन यह विज़ुअल स्टूडियो के लिए समान है, क्या यह नहीं है (मैंने कभी भी टमाटर का उपयोग नहीं किया है)? बेशक, सिंटैक्स हाइलाइटिंग आपको गैर-मिलान वाले ब्रैकेट दिखाएगा लेकिन यह सब के बारे में है।

और आप कैसे डिबग करते हैं (फिर से ब्रेकपॉइंट आदि सोचते हैं)?

मैं gdbएक कमांड लाइन टूल का उपयोग करता हूं । एक ग्राफिकल फ्रंटेंड भी कहा जाता है DDDgdbएक आधुनिक डिबगिंग टूल है और वह सब कुछ कर सकते हैं जो आप एक आईडीई में कर सकते हैं। केवल एक चीज जो वास्तव में मुझे परेशान करती है वह स्टैक ट्रेस पढ़ रही है क्योंकि लाइनें इंडेंटेड या स्वरूपित नहीं हैं इसलिए जब आप बहुत सारे टेम्प्लेट का उपयोग कर रहे हैं (जो मैं करता हूं) जानकारी को स्कैन करना वास्तव में कठिन है। लेकिन वे भी आईडीई में स्टैक ट्रेस को अव्यवस्थित करते हैं।

जैसा कि मैंने कहा, मुझे हाई स्कूल में विंडोज़ नोटपैड और कमांड लाइन जावा कंपाइलर का उपयोग करके जावा प्रोग्रामिंग भाषा में अपना पहला कदम रखने के लिए 'खुशी' थी, और यह एक दुःस्वप्न का स्वागत था! निश्चित रूप से जब मैं अन्य प्रोग्रामिंग पाठ्यक्रमों के साथ मेरी तुलना कर सकता था, तब हमारे पास आईडीई का अच्छा व्यवहार था

आपको Emacs या GVIM जैसे आधुनिक, पूर्ण-सुविधा वाले संपादक की तुलना Notepad से करने की कोशिश नहीं करनी चाहिए। नोटपैड एक अलंकृत TextBoxनियंत्रण है, और यह वास्तव में सभी अंतर बनाता है। इसके अतिरिक्त, कमांड लाइन पर काम करना लिनक्स और विंडोज में एक बहुत अलग अनुभव है। विंडोसcmd.exe गंभीर रूप से अपंग है। PowerShell बहुत बेहतर है।

/ संपादित करें: मुझे स्पष्ट रूप से उल्लेख करना चाहिए कि जीवीआईएम ने टैबिंग एडिटिंग की है (जैसे टैब्ड ब्राउज़िंग में, टैब्स-बनाम-स्पेस नहीं)! मुझे उन्हें खोजने में उम्र लग गई, हालांकि वे बिल्कुल भी छिपे नहीं हैं। फ़ाइल खोलने या नया बनाने :tabeके दौरान सादे के बजाय टाइप करें :e, और GVIM एक नया टैब बनाएगा। टैब के बीच स्विचिंग कर्सर या कई अलग-अलग शॉर्टकट (प्लेटफॉर्म के आधार पर) का उपयोग करके किया जा सकता है। कुंजी gt(प्रकार g, फिर tकमांड मोड में) हर जगह काम करना चाहिए, और अगले टैब पर कूदता है, या टैब सं। n यदि एक नंबर दिया गया था। :help gtअधिक सहायता प्राप्त करने के लिए टाइप करें।


@confuzatron: नहीं, मैं कई कारणों से gdb का उपयोग करता हूं। सबसे महत्वपूर्ण बात, मैं आमतौर पर बिना किसी एक्स सर्वर के काम करता हूं। इसके अलावा, मैं इस तथ्य को लेकर थोड़ा असहज हूं कि DDD ने काफी लंबे समय में कोई अपडेट नहीं देखा है। दूसरी ओर, परियोजना स्वामित्व अभी बदल गया है और लगता है कि परिवर्तन पूर्ववत होंगे।
कोनराड रूडोल्फ

टैब जानकारी wrt gvim के लिए धन्यवाद, कभी भी नया नहीं है :)
Letholdrus

VS2010 संकलन के बिना वाक्यविन्यास त्रुटियों को उजागर करता है।
कैंडी चिउ

@ कैंडी सच है, VS2010 ने इस संबंध में बहुत सारी चीजें बदल दीं और पृष्ठभूमि संकलन के लिए उन्नत सुविधाओं को जोड़ा। लेकिन gvim ने इस बीच प्लगइन्स के माध्यम से बहुत सारी सुविधाएँ भी जोड़ी हैं। विशेष रूप से, आप शायद clang_completeअब प्लगइन के माध्यम से संकलन के बिना हाइलाइटिंग सिंटैक्स त्रुटि प्राप्त कर सकते हैं। यह उत्तर 2009 से है और कुछ हिस्से पुराने हैं। लेकिन सभी पक्षों में सुधार हुआ है इसलिए यह कमोबेश विकसित हो गया है।
कोनराड रूडोल्फ

25

एक उत्तर को दोहराने के लिए नहीं, लेकिन मुझे लगता है कि मैं थोड़ा और जोड़ सकता हूं।

स्लेडिट एक उत्कृष्ट आईडीई है।

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


23

एक पुराने समय के UNIX पुरुष के रूप में, मैं हमेशा Emacs का उपयोग करता हूं। लेकिन इसमें बहुत ही कठिन और लंबी सीखने की अवस्था है, इसलिए मुझे यकीन नहीं है कि मैं इसे नए लोगों के लिए सुझा सकता हूं।

वास्तव में लिनक्स के लिए "अच्छा" आईडीई नहीं है। ग्रहण C / C ++ के लिए बहुत अच्छा नहीं है (CDT में सुधार हो रहा है, लेकिन अभी तक बहुत उपयोगी नहीं है)। अन्य वे सभी सुविधाएँ याद कर रहे हैं जिनकी आप तलाश करने जा रहे हैं।

यह वास्तव में सीखना महत्वपूर्ण है कि सभी व्यक्तिगत उपकरण (जीसीसी, मेक, जीडीबी, आदि) कैसे काम करते हैं। ऐसा करने के बाद, आप चीजों को बहुत सीमित करने का विज़ुअल स्टूडियो तरीका पा सकते हैं।


ग्रहण CDT "अभी तक बहुत उपयोगी नहीं है?" विस्तार सहायक होगा। मुझे यह अत्यंत उपयोगी (और उपयोग में आसान) लगता है।
जॉन Zwinck

"अभी तक बहुत उपयोगी नहीं है": स्वत: पूर्ण अक्सर काम नहीं करता है, घोषणाओं या कार्यों के उपयोग के लिए नेविगेट करना काम नहीं करता है, वाक्यविन्यास हाइलाइटिंग हमेशा काम नहीं करता है, रिफैक्टिंग काम नहीं करता है, आदि यह vi का उपयोग करने से थोड़ा बेहतर है। GDB फ्रंटएंड UI एकमात्र ऐसी चीज़ है जो इसे IMHO के उपयोग के लायक बनाती है।
क्रिस्टोफर जॉनसन

मैंने वास्तव में सीडीटी के साथ रिफैक्टिंग की कोशिश नहीं की है, लेकिन दूसरी चीजें काम करने लगती हैं। मैं नोट करूंगा कि मैं एक्लिप्स को कुछ बहुत बड़े अधिकतम मेमोरी उपयोग कॉन्फ़िगरेशन मापदंडों के साथ चलाता हूं (मेरे पास 8-12 जीबी रैम है), लेकिन यह ठीक लगता है।
जॉन Zwinck

पिछली बार जब मैंने ग्रहण सीडीटी की कोशिश की, ऑटो-कम्पलीट के लिए वाक्य रचना / शब्दार्थक पार्सर ने पूरे आईडीई को हर बार 8 सेकंड के लिए फ्रीज कर दिया, जब भी यह लागू हुआ। इसने पूरी सुविधा को बेकार कर दिया। मैं विश्वास नहीं कर सकता कि बात अपने ही धागे में नहीं चलती थी। यह दो साल पहले था, इसलिए यह उम्मीद है कि अब तय हो गया है। (दाएं?)

मुझे लगता है कि क्यूटी और बूस्ट में मेरे फोर्सेस के लिए सीडीटी कमाल का है। मिंगव के साथ खिड़कियों पर इसके मुद्दे हैं, लेकिन एक उचित पॉज़िक्स वातावरण में ऑटो-पूर्ण महान काम करता है! घोषणाओं के लिए नेविगेट करना वास्तव में एक चमकता हुआ छेद है। लेकिन यह देखते हुए कि C ++ में कई समान घोषणाएं हो सकती हैं, मुझे आश्चर्य नहीं है। यह जावा की तुलना में हल करने के लिए एक कठिन समस्या है।
क्रिस के

18

चेकआउट नेटबीन, यह जावा में लिखा गया है, इसलिए आपके ओएस की परवाह किए बिना आपके पास समान वातावरण होगा, और यह सिर्फ सी ++ की तुलना में बहुत अधिक समर्थन करता है।

मैं आपको समझाने की कोशिश नहीं करने जा रहा हूं, क्योंकि मुझे लगता है कि आईडीई एक बहुत ही व्यक्तिगत विकल्प हो सकता है। मेरे लिए यह मेरी उत्पादकता में तेजी से सुधार करता है, मैं उन भाषाओं का समर्थन करता हूं जिनमें आपके पास आईडीई से अपेक्षित मानक विशेषताएं हैं।


5
मैं बस इसमें अपना +1 जोड़ सकता हूं। netbeans में सबसे अच्छा c ++ भाषा पार्सर है जिसे मैंने एक विचारधारा में देखा है; ग्रहण की धड़कन।
जोहान बोले

18

बस इस सवाल के लिए एक त्वरित अनुवर्ती ...

लिनक्स में C ++ प्रोग्रामिंग के लिए Vim को अपने मुख्य 'GUI' टूल के रूप में उपयोग करने के बाद से मुझे एक महीना हो गया है। पहले सीखने की अवस्था वास्तव में थोड़ी खड़ी थी लेकिन थोड़ी देर बाद और सही विकल्पों के साथ चालू हुई और स्क्रिप्ट चल रही थीं मुझे वास्तव में इसके बारे में पता गया!

मुझे यह पसंद है कि आप अपनी आवश्यकताओं के अनुरूप कैसे विम को आकार दे सकते हैं; बस कुंजी मैपिंग जोड़ें / बदलें और विम को एक अत्यधिक उत्पादक 'आईडीई' में बदल दिया जाए।

लिनक्स पर C ++ प्रोग्राम बनाने और संकलित करने का टूलचेन भी वास्तव में सहज है। मेक और जी ++ आपके द्वारा उपयोग किए जाने वाले उपकरण हैं।

डिबगर ddd लेकिन वास्तव में यह अच्छी बात नहीं है, लेकिन हो सकता है कि क्योंकि की मैं समय यह ठीक से गुरु नहीं किया था।

तो जो कोई भी है, या लिनक्स में एक अच्छे C ++ IDE की तलाश में था, जैसे मैं था, आपकी सबसे अच्छी शर्त लिनक्स में उपलब्ध मानक टूल (Vim, g ++, ddd) के साथ है और आपको वास्तव में कम से कम उपयोग करने की कोशिश करनी चाहिए उन्हें, इससे पहले कि बेटे की तलाश में ...

पिछले नहीं बल्कि कम से कम, मैं वास्तव में यहाँ उनके जवाब के लिए कोनराड का शुक्रिया अदा करना चाहता हूं , इससे मुझे वास्तव में लिनक्स विकास के माहौल में अपना रास्ता खोजने में मदद मिली, धन्यवाद!

मैं भी इस सवाल को बंद नहीं कर रहा हूं , इसलिए लोग अभी भी प्रतिक्रिया कर सकते हैं या शायद पहले से ही बहुत अच्छे उत्तरों के लिए नए सुझाव या अतिरिक्त जोड़ सकते हैं ...


क्या आप Vim + ctags में काम करने के लिए IntelliSense-ish फीचर प्राप्त कर सकते हैं? वास्तव में सिर्फ ऑटो-पूर्ण नहीं है, लेकिन संदर्भ-संवेदनशील जानकारी जैसे फ़ंक्शन के लिए पैरामीटर सूची, आदि?
kizzx2



12

छोटा उत्तर है: जो भी "संपादक" आपको पसंद है, उसे चुनें, फिर अपने आवेदन को डीबग करने के लिए GDB कंसोल या एक साधारण GDB फ्रंट एंड का उपयोग करें। डिबगर्स फैंसी आईडीई के साथ आते हैं जैसे कि नेटबीन्स सी / सी ++ के लिए बेकार है। मैं अपने संपादक के रूप में नेटबीन्स का उपयोग करता हूं, और इनसाइट और जीडीबी कंसोल मेरे डिबगर के रूप में।

अंतर्दृष्टि के साथ, आपके पास एक अच्छा GUI और GDB की कच्ची शक्ति है।

जैसे ही आपको GDB कमांड की आदत पड़ जाएगी, आप इसे पसंद करने लगेंगे क्योंकि आप उन चीजों को कर सकते हैं जिन्हें आप कभी भी GUI का उपयोग नहीं कर पाएंगे। यदि आप GDB 7 या नए संस्करण का उपयोग कर रहे हैं तो आप अपनी स्क्रिप्ट भाषा के रूप में भी पायथन का उपयोग कर सकते हैं ।

यहां ज्यादातर लोगों ने आईडीई के "संपादकों" को अधिक ध्यान दिया। हालांकि, यदि आप C / C ++ में एक बड़ी परियोजना विकसित कर रहे हैं, तो आप "डिबगस" पर अपना 70% से अधिक समय आसानी से खर्च कर सकते हैं। फैंसी आईडीई के डिबगर्स विजुअल स्टूडियो से कम से कम 10 साल पीछे हैं। उदाहरण के लिए, Netbenas के पास Visual Studio के साथ बहुत समान इंटरफेस है। लेकिन इसके डीबगर में विज़ुअल स्टूडियो की तुलना में कई नुकसान हैं।

  1. केवल कुछ सैकड़ों तत्वों के साथ भी एक सरणी प्रदर्शित करने के लिए बहुत धीमा
  2. परिवर्तित मूल्य के लिए कोई हाइलाइटिंग नहीं है (डिफ़ॉल्ट रूप से, दृश्य स्टूडियो लाल में घड़ी की खिड़कियों में बदले हुए मूल्य दिखाता है)
  3. याददाश्त दिखाने की बहुत सीमित क्षमता।
  4. आप स्रोत कोड को संशोधित नहीं कर सकते और फिर चलाना जारी रख सकते हैं। यदि बग को हिट होने में लंबा समय लगता है, तो आप स्रोत को बदलना चाहेंगे और परिवर्तनों को लाइव लागू करेंगे और अपना एप्लिकेशन चलाना जारी रखेंगे।
  5. आप चलाने के लिए "अगला विवरण" नहीं बदल सकते। विजुअल स्टूडियो में, आप अपने एप्लिकेशन को चलाने के तरीके को बदलने के लिए "सेट नेक्स्ट स्टेटमेंट" का उपयोग कर सकते हैं। हालाँकि यह सुविधा आपके एप्लिकेशन को क्रैश कर सकती है यदि इसका उपयोग ठीक से नहीं किया गया है, लेकिन यह आपको बहुत समय बचाएगा। उदाहरण के लिए, यदि आपने पाया कि आपके आवेदन की स्थिति सही नहीं है, लेकिन आप यह नहीं जानते हैं कि समस्याओं का क्या कारण है, तो आप अपने आवेदन को फिर से शुरू किए बिना अपने स्रोत कोड के एक निश्चित क्षेत्र को फिर से बनाना चाहते हैं।
  6. एसटीएल जैसे वेक्टर, सूची, डीके और मानचित्र आदि के लिए कोई अंतर्निहित समर्थन नहीं।
  7. कोई घड़ी बिंदु नहीं। आपको यह सुविधा होनी चाहिए, जब आपको उस बिंदु पर अपना एप्लिकेशन रोकने की आवश्यकता होती है, जिस समय एक चर बदला जाता है। इंटेल आधारित कंप्यूटर में हार्डवेयर वॉच पॉइंट होते हैं ताकि वॉच पॉइंट आपके सिस्टम को धीमा न करें। वॉच पॉइंट्स का उपयोग किए बिना कुछ हार्ड-टूग ढूंढने में कई घंटे लग सकते हैं। "विज़ुअल स्टूडियो" "वॉच पॉइंटर" को "डेटा ब्रेकप्वाइंट" के रूप में पुकारता है।

सूची बहुत लंबी हो सकती है।

मैं नेटबीन्स या इसी तरह के अन्य आईडीई के नुकसान से इतना निराश था, जिससे मैंने खुद ही जीडीबी सीखना शुरू कर दिया। मैंने पाया कि GDB अपने आप में बहुत शक्तिशाली है। GDB में ऊपर वर्णित सभी "नुकसान" नहीं हैं। दरअसल, GDB बहुत शक्तिशाली है, यह कई मायनों में विजुअल स्टूडियो से भी बेहतर है। यहाँ मैं आपको एक बहुत ही सरल उदाहरण दिखाता हूँ।

उदाहरण के लिए, आपके पास एक सरणी है:

struct IdAndValue
{
  int ID;
  int value;
};


IdAndValue IdAndValues[1000];

जब आपका एप्लिकेशन बंद हो जाता है, और आप IdAndValues ​​में डेटा की जांच करना चाहते हैं। उदाहरण के लिए, यदि आप किसी विशेष "आईडी" के लिए सरणी में अध्यादेशों और मूल्यों को खोजना चाहते हैं, तो आप निम्न के लिए एक स्क्रिप्ट बना सकते हैं:

define PrintVal 
set $i=0
printf "ID = %d\n", $arg0
while $i<1000
  if IdAndValues[$i].ID == $arg0
    printf "ordinal = %d, value = %d\n", $i, IdAndValues[$i].vaue
    set $i++
  end
end
end

आप वर्तमान संदर्भ में अपने आवेदन में सभी चर का उपयोग कर सकते हैं, अपने स्वयं के चर (हमारे उदाहरण में, यह $ i है), तर्क पारित (हमारे उदाहरण में, यह $ arg0 है) और सभी GDB कमांड (अंतर्निहित या उपयोगकर्ता परिभाषित) )।

ID "1" के मूल्यों को प्रिंट करने के लिए GDB प्रॉम्प्ट से PrintVal 1 का उपयोग करें

वैसे, नेटबीन्स एक जीडीबी कंसोल के साथ आता है, लेकिन कंसोल का उपयोग करके आप नेटबीन्स को क्रैश कर सकते हैं। और मुझे विश्वास है कि नेटबियंस में कंसोल डिफ़ॉल्ट रूप से छिपा हुआ है


अच्छी बात। लेकिन दुर्भाग्य से GDB में एक बहुत ही महत्वपूर्ण सीखने की अवस्था है। मैं इसे वर्षों से उपयोग कर रहा हूं और मैंने अभी भी मैक्रोज़ का उपयोग नहीं किया है, और (हालांकि मुझे पता है कि यह संभव है मैक्रोज़ के माध्यम से !) मैं जिस भी एसटीएल कोड को फेंकता हूं उसे आधुनिक आईडीई की तुलना में बेहतर तरीके से डिबग नहीं किया जा सकता है।
कोनराड रुडोल्फ

मैंने GDB में अधिकांश कमांड को मास्टर करने के लिए 2 दिन बिताए। एक बार जब आप GBD की कच्ची शक्ति को जान लेंगे, तो आप कभी पीछे मुड़कर नहीं देखेंगे। जब आप हार्ड-टू-फाइंड बग्स को ठीक करते हैं तो यह आपका बहुत समय बचाएगा।
चार्ल्स झांग

11

मैं " Geany " का उपयोग कर रहा हूं जो अब तक अच्छा पाया गया है, इसके तेज और हल्के वजन आईडीई।

Geany की विशेषताओं में हैं :

  • कोड तह
  • सेशन सेविंग
  • बेसिक आईडीई में सिंटैक्स हाइलाइटिंग, टैब, स्वचालित इंडेंटेशन और कोड पूरा करने जैसी विशेषताएं हैं
  • सरल परियोजना प्रबंधन
  • सिस्टम बनाएं
  • रंग बीनने वाला (आश्चर्यजनक रूप से वेब विकास के दौरान काम करना)
  • एंबेडेड टर्मिनल एमुलेशन
  • कॉल टिप्स
  • प्रतीक सूची
  • आम निर्माण (जैसे, और, जबकि, आदि) के ऑटो-समापन

10

यदि आप जावा के लिए ग्रहण पसंद करते हैं, तो मैं सुझाव देता हूं कि ग्रहण सीडीटी। जावा के लिए C / C ++ समर्थन इतना शक्तिशाली नहीं होने के बावजूद, यह अभी भी अधिकांश सुविधाएँ प्रदान करता है। इसमें Managed Project नाम की एक अच्छी सुविधा है जो Cf / C ++ प्रोजेक्ट्स के साथ काम करना आसान बनाती है यदि आपके पास Makefiles के साथ अनुभव नहीं है। लेकिन आप अभी भी मेकफाइल्स का उपयोग कर सकते हैं। मैं सी और जावा कोडिंग करता हूं और सीडीटी के साथ वास्तव में खुश हूं। मैं सी में एम्बेडेड डिवाइस और जावा में एक एप्लिकेशन के लिए फर्मवेयर विकसित कर रहा हूं जो इस डिवाइस से बात करता है, और दोनों के लिए समान वातावरण का उपयोग करना वास्तव में अच्छा है। मुझे लगता है कि यह शायद मुझे अधिक उत्पादक बनाता है।


9

मुझे पसंद है कि लोग आईडीई के मूल प्रश्न में अनुरोध को पूरी तरह से कैसे याद करते हैं। लिनक्स एक आईडीई नहीं है। यह सिर्फ उन शब्दों का मतलब नहीं है। मैंने vi और gcc और make का उपयोग करके c और c ++ सीखा और मैं यह नहीं कह रहा कि वे पर्याप्त उपकरण नहीं हैं, लेकिन वे एक IDE नहीं हैं। यहां तक ​​कि अगर आप अधिक विस्तृत उपकरणों का उपयोग करते हैं जैसे कि विम या एमएसीएस या जो भी फैंसी संपादक आप चाहते हैं, कमांड लाइन पर कमांड टाइप करना एक आईडीई नहीं है।

इसके अलावा, आप सभी जानते हैं कि दृश्य स्टूडियो के हिस्से के रूप में मौजूद है? यह विचार कि एक IDE "सीमित" है, बस मूर्खतापूर्ण है यदि आप IDE का उपयोग कुछ चीजों को गति देने के लिए कर सकते हैं, फिर भी जरूरत पड़ने पर कमांड लाइन के सामान पर वापस गिरने में सक्षम हैं।

सभी ने कहा, मैं सुझाव देता हूं, जैसा कि ऊपर कई कोड कोड की कोशिश कर रहे हैं। इसका सभ्य कोड हाइलाइटिंग, प्रोजेक्ट बनाने के लिए एक बहुत ही सरल तरीका है, इसे कोड करें, इसे चलाएं, आदि, जो कि एक वास्तविक आईडीई का मूल है, और काफी स्थिर लगता है। डिबगिंग बेकार है ... मैंने किसी भी लिनक्स / यूनिक्स संस्करण में एक सभ्य इंटरैक्टिव डिबगर नहीं देखा है। जीडीबी यह नहीं है। यदि आप दृश्य स्टूडियो शैली डिबगिंग के लिए उपयोग किए जाते हैं, तो आप भाग्य से बहुत बाहर हैं।

वैसे भी, मैं अपनी चीजों को पैक करूँगा, मुझे पता है कि एक-दृश्य-केवल लिनक्स भीड़ इसे चिल्लाएगी और कुछ ही समय में मुझे शहर से बाहर कर देगी।


तुम्हारी बात तथ्य पूर्ण है। यह एक आईडीई नहीं है जैसा कि हम जानते हैं। हालांकि यह दिलचस्प है कि ओपी ने उस जवाब के लिए मतदान किया! मेरे रंगों को मस्तूल में बदलना: मैं कमांड लाइन मेकफाइल्स का प्रशंसक हूं।
स्कॉलरब्लस्टर

अंत में किसी के पास जो कुछ मस्तिष्क है ... मुझे लगता है कि अन्य लोग केवल तुच्छ सामान को कोड करते हैं यदि वे सब कुछ emacs / विम के साथ कर सकते हैं।
पिप्पो


7

मुझे अल्टिमेट ++ का IDE बहुत पसंद है । इसकी कुछ विशेषताएं हैं जो अपनी स्वयं की लाइब्रेरी (जो, BTW, के साथ उपयोग करने के लिए डिज़ाइन की गई थी, यदि आप GTK + या qt पर खरीदना नहीं चाहते हैं) तो यह एक अच्छा टूलकिट है, लेकिन यह सामान्य C ++ प्रोजेक्ट्स के साथ पूरी तरह से काम करता है। यह सभ्य कोड पूरा, अच्छा वाक्यविन्यास रंग, एकीकृत डिबगिंग और अन्य सभी सुविधाओं को सबसे आधुनिक आईडीई समर्थन प्रदान करता है।


वाह! स्क्रीनशॉट के बारे में जो वास्तव में अद्भुत लग रहा है! मैं इसे जरूर आजमाऊंगा। क्या आप जानते हैं कि मुझे इसके लिए भुगतान करना होगा? (यह परम ++ वेबसाइट पर बिल्कुल स्पष्ट नहीं है)

नहींं, यह "भाषण", "बीयर" और "सवारी" के रूप में स्वतंत्र है। वे पैच स्वीकार करने के बारे में भी बहुत खुले हैं, और बहुत बार रिलीज करते हैं, इसलिए यह उतना ही खुला स्रोत है जितना कि यह :)
डगाराग्लिया

7

मैं वास्तव में कोडब्लॉक का सुझाव देता हूं । यह एक्लिप्स जितना भारी नहीं है और इसे विजुअल स्टूडियो प्रोजेक्ट का समर्थन मिला है।


6

शायद एक्लिप्स के लिए लिनक्स टूल्स प्रोजेक्ट आपकी जरूरतों को पूरा कर सकता है?

लिनक्स टूल्स प्रोजेक्ट का उद्देश्य लिनक्स डेवलपर्स के लिए एक पूर्ण विशेषताओं वाला C और C ++ IDE लाना है। हम सीडीटी के स्रोत संपादन और डिबगिंग सुविधाओं पर निर्माण करते हैं और लोकप्रिय देशी विकास उपकरण जैसे कि जीएनयू ऑटोटूलस, वेलग्रिंड, ओप्रोफाइल, आरपीएम, सिस्टमटैप, जीसीओवी, जीपीरोफ, एलटीटीएनजी आदि को एकीकृत करते हैं। वर्तमान में एलटीटीएनजी ट्रेस दर्शक और विश्लेषक शामिल हैं, RPM .spec संपादक, ऑटोटूलस एकीकरण का निर्माण करते हैं, एक Valgrind हीप उपयोग विश्लेषण उपकरण, और OProfile कॉल प्रोफाइलिंग टूल।


6

लिनक्स पर बहुत सारे आईडीई हैं:

में मेरी अनुभव, सबसे मूल्यवान हैं ग्रहण और क्यूटी निर्माता । दोनों सभी "मानक" सुविधाएँ प्रदान करते हैं (जैसे, स्वतः पूर्णता, वाक्यविन्यास हाइलाइटिंग, डीबगर, गिट एकीकरण)। यह ध्यान देने योग्य है कि एक्लिप्स भी रिफैक्टिंग फंक्शंस प्रदान करता है, जबकि क्यूटी क्रिएटर वेलग्रिंड के साथ एकीकरण और दूरस्थ लक्ष्यों पर तैनाती के लिए समर्थन प्रदान करता है।

इसके अलावा, वाणिज्यिक सीएलआईएन आईडीई बहुत अच्छा लगता है (लेकिन मैंने इसे बड़े पैमाने पर इस्तेमाल नहीं किया है)।


5

मुझे लगता है कि अंजुता सूक्ति उपयोगकर्ताओं के लिए बहुत चालाक है। मैंने केडीवुल्ड के साथ थोड़ा सा खेला और यह अच्छा है, लेकिन फीचरवाइज की कमी है। कोड :: ब्लॉक भी बहुत आशाजनक है, और मुझे वह सबसे अच्छा लगता है।


5

सन स्टूडियो संस्करण 12 एक मुफ्त डाउनलोड (मुफ़्त और सशुल्क सपोर्ट उपलब्ध) है - http://developers.sun.com/sunstudio/downloads/thankyou.jsp?submit=%A0FREE+Download%Ab%BB%A0

मुझे यकीन है कि आपके पास इस IDE में प्लगइन समर्थन सहित कोड पूरा होने और डिबगिंग समर्थन है।

सन स्टूडियो लिनक्स के साथ-साथ सोलारिस के लिए भी उपलब्ध है। फ़ोरम: http://developers.sun.com/sunstudio/community/forums/index.jsp । सन स्टूडियो लिनक्स फोरम: http://forum.sun.com/forum.jspa?forumID=855

मैं इस टूल पर आपकी प्रतिक्रिया सुनने के लिए उत्सुक हूं।

बीआर,
~ ए


5

मैंने पहले Ultimate ++ IDE का उपयोग किया है और यह अच्छा है।


5

और फिर मैंने देखा कि यह केवल आप कैसे काम करते हैं *, और मैंने सब कुछ बाहर फेंक दिया, कुछ दिन मैनुअल पढ़ने में बिताए, अपना शेल (बैश) सेट किया, जीवीआईएम वातावरण स्थापित किया, जीसीसी / बिनुटिल टूलचिन सीखा। बनाओ और gdb और खुशी के बाद कभी रहते थे।

मैं ज्यादातर सहमत हूँ, लेकिन समस्या भी धारणा में से एक है: हम भूल जाते हैं कि किसी भी चुने हुए आईडीई (या अन्य वातावरण) में उत्पादक बनना कितना मुश्किल था। मुझे आईडीई (विजुअल स्टूडियो, नेटबीन्स, एक्लिप्स) इतने सारे तरीकों से आश्चर्यजनक रूप से बोझिल लगते हैं।

एक पुराने समय के UNIX पुरुष के रूप में, मैं हमेशा Emacs का उपयोग करता हूं। लेकिन इसमें बहुत ही कठिन और लंबी सीखने की अवस्था है, इसलिए मुझे यकीन नहीं है कि मैं इसे नए लोगों के लिए सुझा सकता हूं।

मैं दूसरा होगा; लिनक्स और MSW (XP2, W2K) पर मेरे प्राथमिक संपादक के रूप में Emacs का उपयोग करें। मैं इससे असहमत हूं कि इसमें सीखने की गहरी अवस्था है, लेकिन यह कहेंगे कि बड़ी संख्या में विशेषताओं के कारण इसमें ए लंबे समय तक सीखने की अवस्था। आप थोड़े समय के भीतर उत्पादक हो सकते हैं, लेकिन यदि आप चाहते हैं कि आप आने वाले वर्षों के लिए इसकी नई विशेषताओं को सीख सकें।

हालांकि - ड्रॉप-डाउन मेनू पर Emacs की सभी सुविधाओं के उपलब्ध होने की उम्मीद नहीं है, वहाँ इसे खोजने के लिए बस बहुत अधिक कार्यक्षमता है।

जैसा कि मैंने कहा था, मैंने सालों से MSW पर GNU Emacs का उपयोग किया है। और यह हमेशा विजुअल स्टूडियो के साथ अच्छी तरह से काम करता है जब तक कि मैंने 2008 में "अपग्रेड" नहीं किया; अब यह कभी-कभी डिस्क से फ़ाइलों को ताज़ा करने से पहले कई सेकंड देरी करता है। VS विंडो में एडिटिंग का मुख्य कारण "Intellisense" कोड पूरा करने की सुविधा है।



5

हालांकि मैं विम का उपयोग करता हूं, मेरे कुछ सहकर्मी स्लीकडिट का उपयोग करते हैं जो बहुत अच्छा दिखता है। मैं एकीकृत डिबगिंग के बारे में निश्चित नहीं हूं क्योंकि हम अपने विशेष प्रोजेक्ट पर वैसे भी ऐसा नहीं कर पाएंगे।

SlickEdit में क्रॉस कोडिंग और टैग जंपिंग के साथ बड़े कोड बेस को नेविगेट करने के लिए अच्छा समर्थन है। बेशक इसमें सिंटैक्स हाइलाइटिंग और कोड पूरा करने जैसा बुनियादी सामान भी है।


5

मैं ग्रहण सीडीटी और क्यूटी निर्माता (क्यूटी अनुप्रयोगों के लिए) का उपयोग करता हूं।

यही मेरी प्राथमिकता है। यह एक बहुत ही विचारोत्तेजक प्रश्न है और डेवलपर्स के रूप में कई उत्तर हैं। :)


4

SlickEdit। मैंने विंडोज और लिनक्स पर, 2005 से स्लीकडिट का उपयोग और प्यार किया है। मेरे पास विजुअल स्टूडियो (5, 6, 2003, 2005) में काम करने का अनुभव है और सिर्फ एमएसीएस और कमांड लाइन है। मैं बाहरी मेकफाइल्स के साथ SlickEdit का उपयोग करता हूं, मेरे कुछ साथी SlickEdit का उपयोग करते हैं, अन्य Emacs / vi का उपयोग करते हैं। मैं एकीकृत डिबगर, एकीकृत संस्करण नियंत्रण, एकीकृत बिल्ड सिस्टम का उपयोग नहीं करता हूं: मैं आमतौर पर वास्तविक दर्द होने के लिए बहुत अधिक एकीकरण पाता हूं। स्लीकडिट तेज (बहुत कम बग), तेज और सहज है। यह जर्मन कार की तरह है, ड्राइवर की कार है।

SlickEdit के नवीनतम संस्करण कई सुविधाएँ प्रदान करते हैं जो मुझे रुचिकर नहीं लगतीं, मुझे थोड़ी चिंता है कि उत्पाद भविष्य में फूला हुआ और पतला हो जाएगा। अभी के लिए (मैं V13.0 का उपयोग करता हूं) यह बहुत अच्छा है।


3

मेरे लिए Ultimate ++ क्रॉस-ओएस प्रोग्राम लिखने के लिए सबसे अच्छा समाधान प्रतीत होता है


3

यदि आप लंबे समय से विम का उपयोग कर रहे थे, तो आपको वास्तव में अपना आईडीई बनाना चाहिए। बहुत सारे ऐड उपलब्ध हैं। मैंने उनमें से कई को बहुत उपयोगी पाया, और इसे यहां संकलित किया, इस पर एक नज़र डाली।

और वहाँ पर vi / vim tips & tricks श्रृंखला में बहुत अधिक।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.