Welche IDE



  • Hallo, ich wollte jetzt mal mit einer IDE arbeiten anstatt einem Editor.
    Ich habe einmal Codelite und Codeblocks gefunden.
    Bei Codelite ist aber die Syntax nicht so gut bei CodeBlocks aber schonn.
    Nur ist CodeBlocks anscheinend schon älter und ich wollte fragen ob das noch heutzutage gut ist?
    Oder ob es welche alternativen gibt.
    Am besten wäre es wen da ein GUI Builder drin ist.

    Vielen Dank im Voraus!



  • Achso und ich benutze Linux!



  • CodeBlocks ist nachwievor verwendbar und wird auch hinundwieder noch geupdated. Wobei ich nur die Windows-Version kenne. Ich würde die IDE weiterempfehlen.



  • eclipse cdt, visual code

    Also die lassen sich mit dem package-manager pacman von Arch-Linux laden.

    https://www.archlinux.org/packages/community/x86_64/eclipse-cpp/

    https://wiki.archlinux.org/index.php/Visual_Studio_Code



  • Vielen Dank für die schnelle Antwort!
    Ich nutze auch Windows neben Linux also ich hab kein Problem damit Windows zu benutzen, wie heißen den die Programme die du kennst?



  • @LotosKaiser04 Für welche Sprache(n)?



  • @Swordfish Oh ich dachte ich hätt das schon geschrieben.
    C++ 🙂



  • Visual Studio Code. Benutze ich für alle Programmiersprachen auf allen Betriebssystemen (vorwiegend auf Linux).
    Ist halt in dem Sinne auch mehr ein Editor als eine IDE. Durch plugins lässt sich das aber so erweitern, dass man quasi eine IDE hat.

    Generell nutze ich aber am liebsten für C++ sowieso cmake mit meinem System Compiler und nicht mit irgendeinem Compiler, irgendeiner IDE, irgendwie konfiguriert.
    Für formattieren nutze ich clan_format (so konfiguriert, dass es beim speichern automatisch aufgerufen wird).



  • @Leon0402 Also verstehe ich das jetzt richtig, du schreibst den Code in Visual Studio Code und Compilerst ihn dann extern im Terminal?



  • @Leon0402 Was meinst du mit clan_format ist das eine Erweiterung?



  • @LotosKaiser04 sagte in Welche IDE:

    C++ 🙂

    Microsoft Visual Studio Community 🙂



  • Würde ich auch empfehlen. Alleine der Echtzeit-Syntaxcheck ist klasse.



  • @LotosKaiser04 Ja quasi. Meistens kompiliere ich ihn eher "intern", in Visual Studio Code gibt es eine integrierte Konsole. Darüber hinaus gibt es verschiedene plugins, die einem buttons in die IDE bringen für sowas. Die führen dann aber z.B. nur mein cmake aus, da passiert ansonsten keine Magie 🙂

    Ich meinte clang-format. Ein Tool von clang zum formattieren von Code. Das funktioniert im wesentlichen so, dass du eine .clang-format im root Verzeichnis deines Projektes hat, wo du beschreibst mit key value Paaren wie dein Code formatiert werden soll.
    z.B. PointerAlignment: Left

    Dann rufst du das tool entsprechend aus und anhand dieser Regeln wird dein Code formattiert. Das tolle daran ist, dass die "Formattier Regeln" dann mit im git verzeichnis liegen, wenn also jemand anderes an deinem Code entwickelt, dann kann er die einfach nehmen ohne einen 100 seitigen Style guide vorher durchzulesen und sich anzutrainieren.
    Oder umgekehrt du wirkst an mehreren Projekten mit. jedes Projekt will den Code aus Konsistenzgründen (weil das irgendwann irgendjemand mal so festgelegt hat) es anders formattiert haben. Mit clang-format ist dir das egal, du schreibst wie es dir passt und clang-format regelt.

    Insgesamt nutze ich visual studio code quasi als reinen editor integriere aber tools (die ich kenne und wo ich weiß wie sie funktionieren) dort rein. Das heißt z.B. clang-format wird automatisch ausgeführt, wenn ich speichere. Für cmake habe ich buttons im footer, um gewisse Optionen zu setzen (z.B. release build) und zum ausführen - auch wenn ich in letzer Zeit das wieder vom integrierten terminal aus mache, weil ich sowieso den output direkt sehen will - mein debugger hat ein eigenes panel, git hat ein eigenes panel. Ich klicke ja schon gerne einfach buttons und kriege das gerne visuell aufbereitet 🙂 Aber ich will wissen, was im Hintergrund vor sich geht und welche Befehle ausgeführt werden

    Und Visuell Studio Code war da für mich aktuell die beste Wahl, läuft auch auf jeder Platform (was für mich relativ wichtig ist, weil ich auf der Arbeit windows nutzen muss und gerne den selben Editor haben möchte).

    Eine IDE im Gegenzug bringt halt in der Regel schon alles mit, inklusive des Compilers. Und wenn ich irgendwelche Häkchen irgendwo in den Einstellungen klicke oder irgendwelche buttons drücke, dann klappt plötzlich alles.
    Mein Beispiel dazu immer:
    Als ich mit QT angefangen habe, habe ich den QT Creator genutzt und da tutorials aus verschiedenen Quellen gesehen. Immer wieder hieß es, wenn ihr Fehler dieser Art bekommt, drückt einfach den button und dann geht es, keine Ahnung wieso.
    Seitdem ich nur noch einen editor benutze z.B. kate, atom, visual code verstehe ich plötzlich was es damit auf sich hat. Das sind Buttons, die das tool qmake steuern z.B. wann aus der config datei (.pro) ein Makefile generiert wird etc.
    Ich weiß gerne was ich tue, irgendeinen button drücken und plötzlich geht es, würde mich nicht zufriedenstellen.

    @Swordfish sagte in Welche IDE:

    @LotosKaiser04 sagte in Welche IDE:

    C++ 🙂

    Microsoft Visual Studio Community 🙂

    Auf Linux 😰



  • @Leon0402 Erstmal danke für die lange Antwort 🙂 !
    Von diesem Cmake hab ich bis jetzt noch keine Erfahrung gemacht.
    Ich habe einfach kleine Codes geschrieben (bin noch Anfänger) und die main.cpp dann ausgeführt aber das mit Cmake will ich mir jetzt mal genauer angucken kannst du da Videos etc. empfehlen?



  • Cmake ist cross platform und managed deinen build prozess. Im wesentlichen generiert es ein plattform spezifisches build system.
    z.B. cmake kann ein Makefile generieren

    Bevor du dich mit cmake auseinandersetzt, solltest du dir mal Makefiles anschauen. Muss jetzt nicht im detail sein, aber solltest wissen was das ist und wie es grob funktioniert (um dann auch die Vorteile von cmake zu erkennen).

    Makefiles sind im wesentlichen eine Datei von Regeln. Meist läuft das so ab.

    1. Du sagst, ich will ne binary haben z.B. a.out
    2. Make sucht nach einer Regel um a.out zu generieren und sieht dabei: Ich brauche dafür main.o
    3. Make such nach einer Regel um main.o zu generieren und sieht dabei: Ich brauche eine main.cpp
    4. Make findet eine main.cpp und wendet das spezifizierte Kommando aus um daraus main.o zu generien
    5. Jetzt wo Make die main.o hat, kann es mit dem spezifizierten Kommando die a.out bauen

    Du musst also lauter Regeln schreiben und die genauen Kommandos dafür.

    Cmake abstrahiert davon und fragt dich nach ein paar Sachen z.B. was du generien willst und was für Dateien du hast und generiert dann so ein makefile mit Regeln für dich.
    Dafür führst du nur zwei Befehle aus
    $ cmake -S . -B build
    --> liest deine Config ein und erstellt ein makefile (alles landet in einem build ordner für saubere Trennung)
    $ cmake --build build
    --> generiert deine binary, ruft intern make ein (meistens auf Linux, kannst es auch umkonfigurieren und ninja etc. nutzen)

    Guckst du hier: https://cliutils.gitlab.io/modern-cmake/

    Das ist eher für Leute geschrieben, die cmake schon mal benutzt haben und es jetzt richtig lernen wollen, aber ich empfehle es auch mal für dich. Das Internet ist leider voll von tutorials mit veralteten cmake Befehlen etc.
    Ggf. musst du halt ein paar Begriffe googeln oder mal was überspringen (mit den Beispielen dort sollte es klarer werden).
    Da du ja auch noch Anfänger bist und vermutlich noch keine libraries etc. einbinden musst, solltest du mit https://cliutils.gitlab.io/modern-cmake/chapters/basics/example.html schon ziemlich weit kommen.

    Solltest du irgendwann mal noch viel mehr brauen, sei dir dieses Buch empfohlen: https://crascit.com/professional-cmake/

    Auch das beginnt zwar bei 0, aber ist vlt. etwas zu umfassend für den leichten Einstieg 😉



  • @Leon0402 sagte in Welche IDE:

    Auf Linux

    @LotosKaiser04 sagte in Welche IDE:

    Ich nutze auch Windows neben Linux also ich hab kein Problem damit Windows zu benutzen, wie heißen den die Programme die du kennst?



  • This post is deleted!

Log in to reply