webentwicklung-frage-antwort-db.com.de

Netbeans oder Eclipse für C++?

Ich arbeite gerade an einem Projekt für Haustiere und muss C++ - Entwicklung unter Windows, Mac, Linux und Solaris durchführen. Ich habe es auf Netbeans und Eclipse beschränkt. Ich war also froh, was als C++ - Editor solider ist. Ich brauche nur solides Editieren, gute Autovervollständigung für externe Bibliotheken mit Templates und Projektdateien. Die Build-Tools sind extern, daher ist das hier für meinen Vergleich irrelevant.

Was ist also die bessere Wahl?

Hinweis: Ich weiß, dass ich Emacs oder Vim verwenden sollte, aber das Problem ist, zumindest meine Theorie, dass ich Linkshänder bin. Daher benutze ich meine rechte Seite (Design, Kreativität) des Gehirns mehr als die linke Seite (Logik) , memory), also kann ich einfach nicht Emacs oder Vim verwenden, mein Gehirn ist einfach nicht kompatibel, ich habe es auch viele Male versucht, sogar Emacs für ein paar Monate verwendet, aber es hat mich verrückt gemacht ...

Vielen Dank

35
Robert Gould

Ich habe NetBeans noch nicht verwendet, aber Eclipse CDT (C Developer Tools, zu dem C++ gehört), insbesondere mit der neuesten Version, ist wirklich sehr gut:

  • Syntaxprüfung und Rechtschreibprüfung
  • Syntax-Hervorhebung, die zwischen Bibliotheksaufrufen und Funktionsaufrufen sowie zwischen lokalen und Member-Variablen unterscheidet und sogar auf Code angewendet wird, der # ifdef'ed ist
  • Makroerweiterung, die Sie durch jede Ebene der Makroanwendung führen kann oder das Endergebnis selbst von sehr komplexen Boost-Preprozessor-Makros zeigt
  • Eine Datei- und Klassengliederungsansicht, die dynamisch aktualisiert wird, um anzuzeigen, wo Sie sich in einer Datei befinden. (Kommerzielle IDEs, die ich bisher nicht verwendet habe.)
  • Leistungsstarke, flexible Funktionen zum Suchen/Ersetzen und zum Suchen in Dateien mit vollständiger Perge-Unterstützung für reguläre Ausdrücke. Es soll auch in der Lage sein, eine C/C++ - Suche in Dateien auszuführen, die auf der Grundlage der Sprachsemantik suchen kann (z. B. nur Referenzen suchen, keine Deklarationen), obwohl dies bei mir manchmal nicht funktioniert.
  • Automatisches Tracking von TODO und anderen Kommentartags
  • Mouseover-Tipps, in denen die genaue Deklaration einer Variablen oder Funktion einschließlich aller Kommentare angezeigt wird, und nicht nur dort, wo eine Variable oder Funktion deklariert ist. (Wiederum scheitern kommerzielle IDEs, die ich verwendet habe.)
  • Unterstützung über Plugins für Subversion, Doxygen usw.
  • Unterstützung für Refactoring - Umbenennen, Konstante extrahieren, Funktion extrahieren, einige andere
  • Code-Reformatter basierend auf benutzerdefinierbaren Codestilen

Sie hatten speziell nach dem Herausgeber gefragt. Der Eclipse-Editor ist gut genug, dass ich ihn vor dem kommerziellen IDE für unser Produkt bevorzuge, wenn ich den Formulardesigner des kommerziellen IDE nicht benötige.

Die Debugger-Integration von Eclipse (unter Verwendung von gdb) ist tolerierbar, aber nicht groß, und der Speicherverbrauch ist hoch. Einige Funktionen (wie die C/C++ - Suche in Dateien) funktionieren nicht zuverlässig oder erfordern eine Neuindizierung (was zeitaufwändig ist), ohne dass es einen offensichtlichen Grund gibt. Die neueste Version scheint diesbezüglich zuverlässiger zu sein.

Kann jemand, der NetBeans verwendet hat, die Vergleiche ausfüllen?

25
Josh Kelley

Ich benutze Netbeans gelegentlich unter Solaris und die neueste Version (6.5) ist ziemlich ordentlich. Es verfügt über alle Funktionen, die Sie benötigen. Vielleicht funktioniert Autocompletion besser, aber ich habe eine wirklich schlechte Codebasis, daher könnte es das Ergebnis sein. Denken Sie daran, dass Sie eine starke Maschine dafür benötigen. Wenn es Ihr PC ist, ist dies in Ordnung, aber Netbeans auf einem Remote-Server (wie ich es versucht habe) ist wirklich langsam, wenn Sie keine anständige Hardware haben. Es gibt einige einfache Refactorings für C++ mit Nice-Vorschauoption, die auf jeden Fall einen Versuch wert sind.

Ein vollständiges Sun C++ - Paket erhalten Sie hier: http://developers.Sun.com/sunstudio/downloads/express/

16
Nazgob

Ich persönlich bevorzuge NetBeans - das Projektmanagement ist ausgezeichnet und ich war schneller als mit Eclipse. Es ist jedoch subjektiv und YMMV.

12
Rob

Sie sind beide aufgebläht und langsam, IMHO. Warum versuchst du nicht stattdessen Code :: Blocks ? Es richtet sich speziell an C++ - Entwickler und ist deutlich besser als Eclipse oder NetBeans.

11

Um nur 2 Cent zu den Kommentaren zu Geschwindigkeits- oder Leistungsproblemen bei Eclipse/netbeans zu geben:

Der einzige Teil einer IDE, der nervt, wenn er langsam ist, ist die Editorkomponente .. und im Gegensatz zu einigen offensichtlich oberflächlichen Behauptungen fand ich die Editorkomponente in Eclipse äußerst bissig. Der Rest der IDE neigt zu Verzögerungen, Der Editor selbst liefert jedoch makellose Leistung Ich habe einen 1,4-GHz-Laptop und verwende Eclipse damit. Die Editor-Komponente von Eclipse ist schneller (insbesondere beim Scrollen/Durchblättern von Text) als Code :: Blocks oder KDevelop. Der einfache Grund dafür ist: Eclipse zwischenspeichert alles, insbesondere die Syntaxhervorhebung usw., andere IDEs scheinen dieses '' live '' zu versuchen und scheitern. Der C++ - Indexer war in früheren Versionen eine Ursache des Leidens. Es stürzte ab, wenn kein Speicher mehr vorhanden war, ohne dass keine der einfachen Suchfunktionen funktionierte, usw. Für die aktuelle Version kann ich nur sagen: Es ist alles fixiert und es wirkt wie ein Zauber .. Die Geschwindigkeit ist vergleichbar mit der VisualStudio Indexer.

Wenn Sie Eclipse CDT installieren, erhalten Sie eine Reihe von Nice-Funktionen, wie bereits in anderen Antworten erläutert wurde, die die meisten anderen IDEs nur mit mehreren Plugins bereitstellen. (Ich kann Netbeans nicht kennen, habe es nie benutzt.) Die Funktion, die mich jedes Mal aufs Neue berührt, ist der intelligente Tooltip, wenn ich über einen Identifikator schwebe. Eclipse gibt mir direkten Zugriff auf alle javadoc-Dateien, die irgendwo eingegeben werden können, sowie auf die Datei, in der sie definiert ist, und ich kann sogar im Tooltip blättern. Ich habe also jeden Identifier im vollen Kontext, überall. Ich ziehe es über Visual Studio und so ziemlich alles andere, was ich bisher ausprobiert habe.

Zugegeben, alles, was Sie sonst noch in der IDE tun, könnte knackiger sein. Für mich ist das Entscheidende, dass der Redakteur schnell ist und Eclipse's definitiv einen tollen Job macht.

6
AndreasT

Das einzige, was ich an Netbeans hasse, ist, dass der Debugger im Vergleich zu Eclipse etwas langsam ist. Ansonsten wäre Netbeans meine Wahl.

3
Geo

Wenn Sie Eclipse unter Linux ausführen, können Sie valgrind für Speicherverluste verwenden. Eclipse unterstützt gdb gut genug für mich, aber ich konnte kein ordentliches Speicherleck-Plugin finden und das Integrations-Plugin von valgrind befindet sich in der Beta-Phase. Dieses Blog bietet ein großartiges Tutorial dafür: http://kapo-cpp.blogspot.com/2007/02/detecting-memory-leak.html . Ich stimme für Eclipse unter Linux. P.S Echte Männer benutzen nur Ed. 

3
darkhipo

Der C++ - Parser in code :: blocks scheint nicht mit Netbeans und Eclipse identisch zu sein: Laut Wiki von code :: block muss er komplett neu geschrieben werden.

2
Johan Boulé

Ich bin ein großer Fan von Eclipse und habe es ausgiebig für die Java- und C++ - Programmierung verwendet. Derzeit wird jedoch keine Remote-C++ - Entwicklung unterstützt. Ich habe die Netbeans-Remote-C++ - Entwicklung ausprobiert und fand es sehr gut und extrem einfach. Allerdings ist das C++ - Parsing nicht so fließend wie Eclipse, die Autovervollständigung steht manchmal im Weg und geht nicht mehr weg, und das größte Problem, das ich hatte, ist die ständige Notwendigkeit, die IDE aufgrund von sehr neu zu starten langsame Leistung. Ich hoffe, Eclipse kann seine Remote-C++ - Entwicklungsfunktionen weiter ausbauen und Netbeans als Beispiel dafür verwenden, wie man es sehr einfach macht!

1
ossys

Sie sind beide hervorragend für die C++ - Entwicklung, aber ich habe kürzlich festgestellt, dass es an NetBeans noch fehlt, dass es anscheinend kein Plugin für CppUnit oder andere C++ - Gerätetests gibt. Ich würde gerne weitere Antworten auf diese Frage erhalten, wenn ich mich irre.

(Außerdem weiß ich, dass die Entwicklung für NetBeans ständig im Gange ist. Vielleicht wird ja bald jemand ein Plug-in entwickeln.)

1
Bill the Lizard

Für C++ muss ich Nemanja Trifunovic zustimmen und sagen, Sie sollten Code :: Blocks einen Blick darauf werfen. Es ist kostenlos und hat eine großartige Leistung. Ich habe es vor ein paar Jahren angefangen, nachdem ich von Bloodshed Dev-C++ gewechselt habe (was im Prinzip nicht mehr unterstützt wird) und könnte nicht glücklicher sein. 

1
h0st1le

Ich habe bisher Net Beans verwendet. Aufgrund von Problemen in NetBeans musste ich jedoch zu Eclipse wechseln. Es gibt einen Net Beans-Fehler, der die IDE unbrauchbar macht, wenn Sie mit Projekten mit einer großen Anzahl von Quelldateien arbeiten. Viele Leute haben sich beschwert, aber es scheint, dass das Net Beans-Team das Problem nicht beheben konnte, wodurch die IDE nicht mehr reagiert, wenn die Quelldateien analysiert werden. :(

Berichtet in: Petr Dvorak - Oracle Blog

Als Lösung bieten sie einen On-Demand-Parsing-Mechanismus, der für mich nicht funktioniert: ( Net Beans Wiki

0
Sampath

nachdem ich Eclipse schon einige Zeit benutzt habe, habe ich mich kürzlich mit netbeans befasst und muss sagen, dass ich es sehr mag. Am Ende des Tages sind sie beide ausgezeichnete Ides und es ist eine sehr subjektive Wahl. Meiner Meinung nach scheinen Netbeans etwas schneller als Eclipse zu sein, aber das könnte nur ein Gefühl sein.

0
fly.floh