C++ IDE die mit Visual Studio C#/Visual Basic Edition vergleichbar ist?



  • Die Visual Studio C# oder Visual Basic Editionen haben wirklich nützliche Features. So das sie die Leerstellen automatisch einrücken, try-catch/if/konstruktor Gerüste machen, intelli-sense, syntax check, Typenüberprüfung (Integer und String z.b. passen nicht zusammen) schon beim Schreiben, Einzelschrittdebugger von seinem eignen Source ohne das man in die include Files springt etc. etc...

    Wenn man jetzt aber ein C++ Projekt mit Visual Studio erstellt bzw. die Visual Studio C++ Edition benutzt, dann fehlen da übelst viele Features die ich gerade beschrieben habe. Man auch nicht nachträglich aktivieren kann. Auch vermisse ich so einen tollen Formsdesinger.

    Also das C++ schwerer sein wird als C# oder Visual Basic konnte ich mir schon denken. Aber da C++ viel älter ist dachte ich das es bestimmt mitlerweile schon so gute IDE`s dafür gibt.

    Welches ist die beste (funktionsreichste, so wie beschrieben) IDE für C++?



  • ich denke schon, dass vs so mt die funktionsreichste ist. Was es nicht gibt (und wohl auch kaum mal geben wird) ist Typcheck zur programmier-zeit. Es kann doch sein, dass ein Objekt einen operator zum konvertieren in einen anderen typ hat. Das kann dann alles so kompliziert werden, dass man alles die ganze zeit neu kompilieren müsste, so wie es glaub ich bei java gemacht wird.

    Und try-Catch/if/usw kannst du dir mit VisualAssist dazuholen, oder CodeWizard ist auchn sehr geiles kostenloses plugin für VS. Syntax highlight hat er eh, intelli-sense auch, einzelschrittdebugger sowieso, was fehlt dir denn dann noch bei vc++? Den Formsdesigner, der ist bei VCExpress nciht dabei, bei Visual Studio aber sehr wohl. Da ist auch die MFC dabei, mit der kannst du ganz leicht klicki-bunti-VB-Like programme bauen. Allerdings hat das dann nicht mehr viel mit c++ zu tun... wenn man wirklich so wie klick->Funktion, Ereignis abarbeiten will, dann soll man doch bei VB bleiben.

    Nur weil C++ viel älter ist, heißt es nicht, dass es leicht zu parsen ist. Die IDE kann einfach nicht alle Typen, templates, sonstwas durchschauen, weil es zu viele möglichkeiten gibt.

    Eine andere, sehr umfangreiche IDE, ist Eclipse. Ist zwar eher für Java gedacht, aber geht auch mti C++, weiß jetzt aber grad nicht wie das plugin dafür heißt, musst ma googlen.



  • Naja Vs05 macht nicht mal die Klammern automatisch. Also wenn ich eine Klammer auf machen, dann macht es die nicht zu.

    Wenn ich eine Klammer anklicken, dann zeigt mir CodeBlocks die andere dazugehörige Klammer an. Finde das schon sehr merkwürdig das Vs05 das nicht kann.

    Die Formatierung lässt auch zu wünschen übrig, nicht mal die Leerstellen werden automatisch eingerückt.

    Einzelschrittdebugger gibt es zwar aber wenn ich jetzt eine normale Funktion aus iostream nehme und dann einzeln da durch gehe springe ich da rein, z.b. auf Console schreiben. Bei .net gibt es da Console.WriteLine und das interessiert einen Anfänger auch erstmal nicht was das intern macht, daher fand ich das praktisch das man das anfangs nicht sieht.

    CodeWizard Visual Studio Plugin? Heißt das wirklich so. Habe das über Google nicht gefunden.



  • sagen schrieb:

    Welches ist die beste (funktionsreichste, so wie beschrieben) IDE für C++?

    Meiner Einschätzung nach C++Builder. Der Compiler kommt zwar nicht an den von Visual C++ ran, aber die IDE ist um einiges komfortabler:

    sagen schrieb:

    die Leerstellen automatisch einrücken

    kann er

    sagen schrieb:

    try-catch/if/konstruktor Gerüste machen

    Geht. Das Feature nennt sich Live-Templates und ist beliebig konfigurierbar (du kannst nach Belieben eigene Konstrukte hinzufügen).

    sagen schrieb:

    intelli-sense

    nennt sich Code Insight und ist zwar etwas langsamer, aber dafür informativer als IntelliSense.

    sagen schrieb:

    Wenn ich eine Klammer anklicken, dann zeigt mir CodeBlocks die andere dazugehörige Klammer an.

    macht er

    sagen schrieb:

    Auch vermisse ich so einen tollen Formsdesinger.

    Auch den gibt es da. Mit der VCL übrigens ganz ohne .NET-Abhängigkeit 😉

    Als kostenlose Edition gibt es da Turbo C++ 2006, teste das doch mal.
    Wenn du Geld auszugeben bereit bist, solltest du auch mal die aktuelle Version 2007 testen - Code Insight ist dort besser geworden, und ein Strukturpanel und UML-Codevisualisierung kamen hinzu.

    Maxi schrieb:

    wenn man wirklich so wie klick->Funktion, Ereignis abarbeiten will, dann soll man doch bei VB bleiben.

    😕 Was soll daran schlecht sein, wenn man das in C++ hat? Sicher mag das manchen Anfänger dazu verleiten, C++ wie VB zu schreiben, aber wenn man genug Erfahrung hat, ist das doch lediglich eine große Erleichterung, oder?

    sagen schrieb:

    Einzelschrittdebugger gibt es zwar aber wenn ich jetzt eine normale Funktion aus iostream nehme und dann einzeln da durch gehe springe ich da rein, z.b. auf Console schreiben. Bei .net gibt es da Console.WriteLine und das interessiert einen Anfänger auch erstmal nicht was das intern macht, daher fand ich das praktisch das man das anfangs nicht sieht.

    Warum nimmst du da nicht einfach "Step Over"?
    Da std::istream und std::ostream Templates sind, wird der Code auch in die Quelltextdatei, in der sie verwendet werden, kompiliert, daher springt der Debugger den Code auch an; da nach dem Modulkonzept zu trennen ist praktisch nicht möglich.



  • MSVC2005 EE ist sicherlich eine abgespeckte IDE. Aber der Compiler und Debugger davon ist einfach unschlagbar. Das können wir festhalten, ja? OK.

    Weiterhin, MS hat die MSVS2005 Std.Edition und die soll auch gekauft werden. 😉 Alles klar? 😃 Eigentlich brauche ich hier garnicht weiter erklären. Aber ich mache es trotzdem: jeder ernsthafte MSVC-Benutzer hat auch das VisualAssist-Plugin und das macht alles, was du vermisst. Und eigentlich sogar noch mehr.

    Die Express ist hier also (wie in der Werbung auch steht) für Einsteiger und Semiprofis gedacht. Gut, bei letzterem verschwimmen die Ansprüche, aber MS "verkauft" die Express nunmal nicht als IDE für Profis und somit ist es legitim, wenn dort Features fehlen. Aber der Debugger und Compiler sind eindeutig professionell.

    Und es gibt auch alternative IDEs. Wem die Express nicht genügt, kann also was anderes kostenloses nehmen.

    Übrigens, würde MS alle Features in der Express anbieten und womöglich noch die Plugin-Fähigkeit aktivieren, könnten viele andere (kostenlose) IDEs einpacken. Womöglich würden ein paar Konkurrenten sogar MS verklagen (von wegen Wettbewerbsvorteil ausnutzen usw.). 😉 Also, egal was MS mit der Express macht, es würde nie allen Recht sein. 🙄



  • Super umfangreiche Antwort!

    Von der .net Abhänigkeit wollte ich sowieso weg. Programme die einfach out of the box überall ohne zusätzliche Abänigkeiten laufen finde ich viel besser.

    Kann ich mit Borland C++ Builder erstellten Code am ende auch mit dem Microsoft C++ Compiler übersetzen? Oder dann auch mit GCC (für Linux)? (Natürlich vorrausgesetzt ich schreibe keinen platformabhänigen Code bzw. verwende solche Bibliotheken.) Die Option mir von Gtk, wxwidgets und qt etwas aussuchen zu können möchte ich natürlich behalten. Weil ich habe mal gelesen das sich Borland nicht so sehr an den C++ Standard hält, ich hoffe das gilt nur für den Compiler und nicht für die ganze IDE.



  • sagen schrieb:

    Kann ich mit Borland C++ Builder erstellten Code am ende auch mit dem Microsoft C++ Compiler übersetzen? Oder dann auch mit GCC (für Linux)? (Natürlich vorrausgesetzt ich schreibe keinen platformabhänigen Code bzw. verwende solche Bibliotheken.)

    Die VCL ist eine solche Bibliothek, die einige nichtstandardisierte Compilerfeatures benutzt. So wie du WinForms die Managed Extensions von C++/CLI nur mit dem VC-Compiler benutzen kannst, kannst du die Erweiterungen, auf die die VCL sich verläßt (Closures, Properties, Reflection), nur mit dem Borland-Compiler übersetzen.

    Wenn du deinen Code aber sauber trennst (GUI <-> Funktionalität), solltest du den Nicht-VCL-Part aber auch mit anderen Compilern verwenden können. Falls du auch für das GUI mehrere Compiler benötigst, mußt du auf eines der genannten GUI-Toolkits zurückgreifen. Rechne hier aber nicht mit einer komfortablen IDE-Integration...

    Artchi schrieb:

    Aber der Compiler und Debugger davon ist einfach unschlagbar. Das können wir festhalten, ja?

    Der Debugger würde mich ganz besonders interessieren. Was ist an dem denn so besonderes?



  • sagen schrieb:

    Von der .net Abhänigkeit wollte ich sowieso weg. Programme die einfach out of the box überall ohne zusätzliche Abänigkeiten laufen finde ich viel besser.

    Dann musst Du Dir bei MS aber min. die VS2005 Standrard kaufen, da nur hier die MFC dabei ist. Oder Du verwendest was freies (wxWidget!?).



  • Wenn man portabel bleiben will, egal ob zwischen Compilern auf einer Plattform oder gar zwischen mehreren Plattformen, muß man weg von WinForms, MFC und VCL. Dann darf man die Compiler und IDEs "nur" noch zum Coden benutzen.

    Für C++ gibt es doch tolle Formdesigner (GUI-Designer). Nur die betten sich nicht in die IDEs ein. Aber warum sollten sie das auch unbedingt tun? Es gibt ganz wenige Argumente, die es zwingend erfordern.

    Schnapp dir eine IDE mit den Features die du wünscht (z.B. TurboC++) und dann nimmst du eine freie GUI-Library. Da gibts einige. Und folgende Libs haben Formdesigner:

    Qt, gtkmm und wxWidgets. Wobei meiner Meinung nach wxWidgets bisher der beste Kompromiss ist. Der Designer dafür nennt sich wxFormBuilder und der ist auch gut zu bedienen. Meiner Meinung nach fährt man mit VC++2005 Express und dem http://wxPack.sf.net schon sehr gut, wenn es kostenlos sein soll.

    Wer ultimative Features haben will, muß Geld auf den Tisch legen. Und z.B. auch in Plugins investieren.



  • das Plugin heißt CodeWiz
    http://www.cupla.net/CodeWiz2/


Anmelden zum Antworten