C++ und IDE? - Frage an Plugin-Entwickler

  • Hallo,


    ich versuche mich derzeit etwas in C++ und VDR und habe so meine Probleme mit Sprache und Entwicklungsumgebung :O
    Ersteres wird langsam besser, aber der Frust über letzteres nimmt immer mehr zu.


    Da ich Eclipse unter Java einsetze und liebe, war es für mich natürlich der erste Weg, CDT auszuprobieren.
    Leider musste ich feststellen, dass dort nur Editor unterstützt wird. Alle anderen Funktionen, die die Java-Variante so wertvoll machen - Fehlanzeige :(
    Also habe ich mich auf die Suche nach alten Naiven gemacht.


    Die üblichen Verdächtigen unter Linux habe ich ausprobiert - die meisten haben keine 5 Minuten überlebt.


    Mein derzeitiger Favorit ist netbeans. Leider macht der die Grätsche, sobald ich nen Port aufmache und versuche dann zu debuggen.
    Bleibt nur noch kdevelop.
    Dort funktioniert zwar der Debugger, aber die IDE ist das absolut langsamste, was mir je auf den Bildschirm kam und die Funktionalität ist auch nicht berauschend.
    Tasten für oft benutzte Funktionen belegen, Unterstützung bei Refactoring oder Templates für code-Teile - Fehlanzeige.
    Dann vermisse ich auch die intelligente Navigation - sprich wenn der Cursor auf einer Deklaration steht, kann die Definition geladen werden und umgekehrt. Selbstverständlich sollte die IDE dabei wissen, welche Datei schon offen ist und nicht ständig neue Varianten der gleichen Datei öffnen (wie z.B. bei kdevelop).
    Netbeans ist an der Ecke nicht verkehrt, aber ohne Debugger-Integration ist die Ide nur die Hälfte wert.
    Ack ja, mehrere Editor-"Fenster" frei positionierbar zu haben, ist ein Muss.


    Wie macht Ihr das?


    Gibt es ne brauchbare IDE, die die Selbstverständlichkeiten der Javawelt auch im C++ Umfeld bietet?
    Wenn sie richtig gut ist, darf sie auch was kosten.


    Bin für jeden Dip tunkbar ;)


    Gruß Gero

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Ist das Ding nicht nur für C# und das sonstige .NET-Gedöns?


    Was Debugger angeht: Was wirklich gutes habe ich auch noch nicht gesehen. Grober Syntax-Check macht der Compiler und wenn es Fehler zu suchen gibt, dann baue ich an geeigneter Stelle "printf"-Zeilen rein um mir den aktuellen Zustand anzeigen zu lassen. Ist, soweit mir bekannt, auch nicht unüblich, das so zu machen.


    Einen Debugger nutze ich nur dann, wenn es knallt. Also um den "Crash" zu fangen und via Backtrace dann die Codestelle einigermaßen einzugrenzen.


    Als Editor habe ich schon seit langem Emacs und nutze den für alle Sprachen, mit denen ich zu tun habe. Der hat wohl in irgendeiner Form auch Debugger-Unterstützung, aber ich habe das bisher noch nichtmal ausprobiert.

  • Was genau vermisst Du in CDT für Features? Gerade, wenn Du schon viel Erfahrung mit dem Eclipse-Biest gesammelt hast, wäre es meines Erachtens konsequent, bei Eclipse zu bleiben. Zusatz-Tools/Plugins kannst Du Dir ja nach Gusto installieren.


    Nachdem ich anfangs unter Ubuntu immer die Standard-Eclipse-Pakete der Distro verwendet habe, bin ich nach mehreren Update-Orgien davon abgekommen. Somit herrsche ich auf meinem Development-Rechner über die verwendete Eclipse-Version und kann bei Bedarf mehrere Eclipse-Instanzen parallel fahren.


    Nachteile hat Eclipse an sich sicherlich, es ist etwas langsam und klobig, aber wenn Du es eh kennst und damit umgehen kannst, würde ich da bleiben.


    Viele Grüße
    hepi


    P.S.: Mehr kann ich zum Thema nicht sagen, weil ich eigentlich kein C++ unter Eclipse entwickle.

  • Moin!


    Unter Windows ist MS Visual Studio ganz gut, aber das hilft dir nicht. :)


    Ich arbeite mit einem Texteditor, diversen Kommandozeilen und beim vdr und meinen Plugins mit vielen "isyslog"-Aufrufen.
    Damit bin ich am schnellsten. Unter Linux kenne ich nichts anderes.


    Ich benutze übrigens Notepad++ unter Windows, die Quellen liegen auf einer Samba-Freigabe des Test-VDR. Einen Desktop hab ich da nicht installiert.
    Und dann mehrere Putty-Fenster für das syslog (less mit Shift+F im follow-Modus), make/git, ausführen (inkl. Konsolenausgabe) usw.
    Außerdem hängen an meinem Desktop zwei Monitore. Das hilft auch.


    Code-completion usw. ist zwar nett, aber braucht es nicht unbedingt. Mir reicht da eine ssh-Session mit 'nem grep in den vdr-Sourcen.
    Außerdem hält das den Kopf in Schwung. :]


    Lars.

  • Remote via samba + ultraedit + putty (meistens mehrere Fenster)


    oder


    lokal mit kate und konsole (meistens mehrere), als WM dazu icewm.


    oder


    wie lokal aus einem zweiten linux.


    Meistens habe ich in einem Fenster debug ausgaben mit 'tail -f <FILE>', im zweiten Compiler && Programm.
    Eine extra IDE benutze ich selten.

  • Moin!


    'tail -f <FILE>'


    Probier mal 'less <FILE>' und dann Shift+F, früher hab ich auch nur tail benutzt.
    Aber less hat den Vorteil, dass man mit CTRL+C den Follow-Mode jederzeit abschalten und blättern kann. Danach dann wieder Shift+F.
    Und wenn man vorher per / ein Muster markiert hat, wird es auch in den neuen Ausgaben markiert. Damit kann man wunderbar die Übersicht behalten.


    Lars.

  • Probier ich mal aus.


    Aber sehr schön geht auch:


    <PROG WITH OPTS> | tee log


    Und dazu in extra Editorfenster die Datei 'log'.
    Braucht nat. einen Editor der File Changes bemerkt.

  • Probier mal 'less <FILE>' und dann Shift+F, früher hab ich auch nur tail benutzt.
    Aber less hat den Vorteil, dass man mit CTRL+C den Follow-Mode jederzeit abschalten und blättern kann. Danach dann wieder Shift+F.
    Und wenn man vorher per / ein Muster markiert hat, wird es auch in den neuen Ausgaben markiert. Damit kann man wunderbar die Übersicht behalten.


    Für mich der TIpp des Tages ;-) Funktioniert sehr schön, Danke!


    Grüße, Peter

    KODI, tvh, arch x86_64, Octopus net 2 x Duoflex C/C2/T2 , NUC7i3BNH, Crucial MX300 2TB, LG LM 669S

    Linux is the best OS I have ever seen -- Albert Einstein

  • obier mal 'less <FILE>' und dann Shift+F,


    Funzt gut. Guter Tipp.

  • Benutze Beruflich und Privat eclipse + cdt unter Linux.
    Beruflich sind das dann aber ganze BSP's mit 40-50.000 Files. :rolleyes:
    Bin damit meistens sehr zufrieden.


    Wenn ich Privat mal schnell ein Programm schreibe das nur in einer Datei ist oder eh nur schnell geschrieben ist, dann nehme ich auch mal kate, vi oder pico.

  • Persönlich benutze ich QtCreator sehr gerne. Es ist eine noch recht junge IDE und, wie der Name andeutet, als IDE für Qt-Apps gedacht. Geht aber auch problemlos für NON-Qt bzw plain c/c++.
    Der Editor ist intuitiv mit guter Syntax-Highlighting, Code-Completion kommt natürlich nicht an Eclipse&Java heran, aber weit besser als KDevelop etc. Insbesondere gefällt mir das Debugger-Frontend sehr gut, bisher das beste was ich bisher gesehen habe, mal abgesen von xemacs & GDB ?(


    Außerdem ist halt schön, dass es den QtCreator für Linux, Windows, Mac(?) gibt, d.h. man kann die selbe IDE auf verschiedenen Umgebungen nutzen und muss sich nicht umgewöhnen.


    Das Installations-Binary kann man sich hier unterladen: http://qt.nokia.com/downloads/downloads#qt-creator
    Tschüss Jo

    Kurz vor der Rente: gen2vdr V2,Hermes 651P,DVB-S Rev1.6-4MB-Mod,Activy Budget,Celeron 2.3GHz,128MB RAM,HDD 500GB
    In Arbeit: yaVDR 0.5, ASRock Q1900M, Zotac GT630 1GB, DD Cine S2 V6.5, 2x2GB, 64 GB SSD, PicoPSU 80W, MeanWell Netzteil 90W mit eingebautem Tinnitus, HAMA MCE-Remote Control

  • Moin!


    Hab eben mal QtCreator installiert und ausprobiert - ich will ihn nicht spontan wegschmeißen, ein gutes Zeichen. :)
    Könnte evtl. Notepad++ bei mir ablösen, werde ich mal ausprobieren.
    Ambesten hält man einfach alle beteiligten Dateien geöffnet, dann klappt's mit der Symbol-Navigation recht gut.


    Lars.

  • Probier mal 'less <FILE>' und dann Shift+F


    Das ist echt mal klasse. Ich weiß nicht, wie oft ich less abgebrochen und neu gestartet habe, oder tail nicht das entscheidende angezeigt hat, weil vorher geschehen.


    Danke

  • Moin!


    Den Trick hab ich auch nur irgendwo gefunden...
    Und ich war genauso erfreut wie ihr. :)


    QtCreator macht immer noch einen relativ guten Eindruck.


    Lars.

  • Whow - hier ist ja richtig was los :)


    Quote

    Was genau vermisst Du in CDT für Features?


    Naja - wenn man Eclipse mit seinem Funktionsumfang unter Java kennt, dann ist es schon ernüchternd, unter CDT ein "refactoring" auszuprobieren.
    Ich hatte ne Klasse umbenannt und musste dann doch alles von Hand nachziehen.
    Unter Java ist es unter Eclipse selbstverständlich, dass die IDE alle Vorkommen der Klasse sucht und umbenennt.
    Dabei werden Dateinamen genauso verwaltet wie die import-Anweisungen.
    Das Refaktoring funktioniert für einfache Variablen, Parameter, Methoden, Klassen - mir ist kein Fall bekannt, der nicht unterstützt wird.
    Da war die Erfahrung in CDT doch sehr ernüchternd.


    Quote

    Somit herrsche ich auf meinem Development-Rechner über die verwendete Eclipse-Version und kann bei Bedarf mehrere Eclipse-Instanzen parallel fahren.


    Yepp, genauso arbeite ich auch. Habe mir für die unterschiedlichen Versionen unterschiedliche Startsymbole angelegt und natürlich braucht jede Variante ihren eigenen Workspace - und man kann nicht beide Versionen gleichzeitig benutzen, aber sonst geht das schon nicht schlecht. Besonders beim Wechsel zwischen 3.x und 4.x ist das sehr hilfreich.


    Quote

    Nachteile hat Eclipse an sich sicherlich, es ist etwas langsam und klobig


    Lach - wenn Du Eclipse als langsam empfindest, dann probier mal kdevelop.
    Dort wird Langsamkeit völlig neu definiert.
    Bei Eclipse dauert es nur so lange, bis das Monster mal geladen ist - dann geht die Arbeit zügig. Das finde ich völlig akzeptabel, weil die IDE bei mir fast den ganzen Tag offen ist.


    Quote

    Benutze Beruflich und Privat eclipse + cdt unter Linux.
    Beruflich sind das dann aber ganze BSP's mit 40-50.000 Files.


    Puh - das ist ja ne völlig andere Liga :O
    und die Projekte mit den 40000 Files hast Du noch im Kopf - Respekt!
    Verwendet Ihr ausschließlich Eclipse oder noch andere Werkzeuge?


    Quote

    Wenn ich Privat mal schnell ein Programm schreibe das nur in einer Datei ist oder eh nur schnell geschrieben ist, dann nehme ich auch mal kate, vi oder pico.


    Naja, bei Kleinigkeiten nehme ich krusader + gvim - das ist meine Turbo-Kombination :)
    Da gehen dann locker 6 Fenster nebeneinander ...
    Dazu dann noch jede Menge Konsolen. Bei "konsole" ist es angenehm, dass man Tabs anlegen kann und in den Tabs wird das letzte Verzeichnis angezeigt. So kann man schnell zwischen unterschiedlichen Umgebungen wexeln.
    Bei überschaubaren Änderungen ist die Kombi unschlagbar.


    Ganz anders sieht es aus, wenn ich ala Braindump mit neuen Sachen loslege. Bei Java habe ich mir angewöhnt, einfach loszulegen, wie es auch dem Hirn sprudelt und erst im Projektfordschritt Gedanken über Dateiordnung oder Aufräumen nach zu gehen. Besonders bei schnellen Prototypen kann es schon vorkommen, dass ne Klasse zig mal umbenannt und verschoben wird, bis das Ganze dann ein stimmiges Bild ergibt.
    Bei der Arbeitsweise kann eine IDE wertvolle Hilfe leisten.
    Automatische Codekomplettierung ist mir eher völlig unwichtig.
    Viel wichtiger ist die schnelle Navigation und Unterstützung bei refaktoring und debugging. Beim Umbenennen einer *.h-Datei gehört für mich die Pflege der include-Anweisungen dafür dazu. Das sollte eine IDE von sich aus können :O


    Bei Eclipse gefällt mir sehr gut, dass man locker 40 Dateien gleichzeitig offen haben kann und wenn man dann per Codenavigation wechselt, kann man jederzeit sicher sein, dass jede Datei nur einmal geöffnet ist. Das macht keine der Konkurrenten. Bei Eclipse muss man sich fast einen ausreißen, um eine Datei mehrfach zu öffnen. Das finde ich gut.


    Habe gerade QtCreator installiert - ist auf jeden Fall einen zweiten Blick wert.
    Sehr gut gefällt mir, wie viel Platz man vom Bildschirm bekommt und die Dropdown-Navigation ist auch nicht schlecht.
    Aber mit den Dateien klappt schon mal nicht. Eine Datei kann mehrfach geöffnet werden.


    Naja - ich werde einfach mal mit arbeiten und schauen, ob sie mir dabei hilft ;)


    Danke für die vielen Tips.


    Gruß Gero


    P.S. Geilomat :)
    Zuerst hatte ich von QtCreator nur die Version von debian stable installiert.
    Dann habe ich den Link ausprobiert und die aktuelle drauf geschmissen. Sieht so aus, als könnte das Proggy einen neuen Fan bekommen :)
    Gerade auch das Refactoring ausprobiert - funzt wie erwartet. Besonders gut gefällt mir die Navigation mit den dropdown-Boxen - das hat was :)
    ... und das Teil ist mal richtig flott! Ein-Klick-Datei öffnen - Whow! Aber der Mensch findet auch beim besten Tuhl noch was zu kriteln:
    Momentan fehlt mir noch die Möglichkeit, einen externen Code-Formatierer einzubinden, Templates für Erstellung von Klassen/Dateien, sowie die Anzeige der Querverweise.
    Das ist in Eclipse und Netbeans einfach genial. Man geht mit dem Cursor auf eine Variable oder Funktion und erhält alle Vorkommnisse des Teils neben der Scrollbar angezeigt und mit einem Mausklick ist man an der Stelle. (Gut, das geht mit Suchen auch, aber die Verwendung ist doch etwas intelligenter).
    Nach dem Schnelltest sieht es für mich so aus, als wäre es die beste IDE, die nicht aus der Java-Welt kommt :)
    ... auch die Farbverwendung ist sehr dezent. Hm, macht Lust auf Meer.

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

    The post was edited 1 time, last by geronimo ().

  • Ich nutze für größere Projekte Privat QTCreator.
    Aber als Linuxfreund muss ich zugeben das nichts über Visual Studio geht (welches ich auf Arbeit nutze) geht. So schnell, intuitiv und integriert habe ich bisher noch keine andere IDE gesehen.


    Für kleinere Scripte und Programme reicht ein vim allemal.
    Ansonsten nutze ich noch gerne Scite, da dieser unter WIndows (Arbeit) und Linux (Home) verfügbar ist. Ist keine vollwertige IDE aber hat auch ein paar nette Funktionen!



    Grüße
    schirrmie

  • Halb OT bezgl less: die meisten vi Navigationskommandos funktionieren da:
    Shift+G (momentanes) Ende der Datei
    1,Shift+G : Anfang der Datei
    Shift+F - follow
    ? Rückwärtssuche
    / Vorwärtssuche
    1000+pfeil nach unten - 1000 Zeilen abwärts gehen.

  • Ich arbeite mit einem Texteditor, diversen Kommandozeilen und beim vdr und meinen Plugins mit vielen "isyslog"-Aufrufen.
    Damit bin ich am schnellsten. Unter Linux kenne ich nichts anderes.


    dito, manchmal zum tippen noch Sublime Text 2 da das bei vielen Files etwas übersichtlicher ist als tausende geöffnete Terminals


  • Puh - das ist ja ne völlig andere Liga :O
    und die Projekte mit den 40000 Files hast Du noch im Kopf - Respekt!
    Verwendet Ihr ausschließlich Eclipse oder noch andere Werkzeuge?


    Habe da dann aber auch den entsprechenden Kernel und alle libs drinnen. Alleine der Kernel hat bei mir aktuell 11732 c und h files.
    Das eigentliche Projekt hat dann nur ca 1000 c und h files, wobei ich mich meist nur in 20-30 Files rumtreibe.


    Benutze eclipse aber nur zum editieren. Compiliert wird per konsole auf einem buildserver mit ordentlich power.
    Andere Wergzeuge? Ja viele.
    Alles was die Konsole so her gibt. Muss gestehen das ich find, grep usw doch auch gerne mal in der konsole aufrufe und nicht in eclipse.


    Mal eine andere Frage, wenn Ihr ein Coredump habt, können die anderen IDE's diese analysieren? Eclipse kann glaube ich nur live oder remote debug.
    zur Coredump analyse benutze ich immer ddd/gdb. Geht, ist aber nicht schön.