Visual C++: Codekontrolle beim Programmieren



  • Hi

    Von Eclipse bin ich mir gewohnt, dass mein geschriebener Code gleich während der Eingabe überprüft wird (falls etwas von der Syntax her nicht stimmt, wird der Codeteil sofort rot unterstrichen).

    Das habe ich bei Visual C++ sehr vermisst und dachte zuerst, dass es das nicht gibt.

    Aus Interesse habe ich mich gestern in ein Tutorial für C# eingelesen und habe kurz ein par kleine Konsolen-Apps gebastelt. Dabei ist mir aufgefallen, dass die Visual C#-IDE den Code bei der Eingabe direkt überpüft.

    Gibt es eine Möglichkeit diese Funktion auch für die Visual C++-IDE einzuschalten? Oder gibts das nur in der Vollversion?

    PS:
    Sry für den Post, falls das leicht zu googlen wäre. Aber ich wusste nicht was für Suchbegriffe ich eingeben muss.



  • Es gibt dieses Feature für C++ in Visual Studio garnicht, egal welche Version. Das liegt daran, dass C++ Programme viel viel schwerer zu parsen sind, als C# Programme. Einen Syntax-Check für C# Programme zu schreiben ist einigermassen trivial (*). Für C++ ist es Der Blanke Horror (tm).

    Es gibt allerdings Plugins, die das mehr-oder-weniger gut können. Ein solches wäre z.B. Visual Assist X ("VAX").

    Diese Funktion ist allerdings meiner Meinung nach weit weniger praktisch, als viele vielleicht denken. Fehler findet man eh schnell, wenn man versucht das Projekt zu bauen.

    Viel wichtiger ist IMO ein gutes "highlighting", welches z.B. auch den Unterschied zwischen Klassen/Funktionen/Variablen/Defines etc checkt. Das kann Visual Studio übrigens auch nicht anbieten, auch egal in welcher Version. Visual Assist X hilft hier auch.

    *: ich will damit nicht behaupten dass es nicht einiges an Arbeit wäre sowas für C# zu machen. Es ist sicher viel Aufwand, aber auch sicher ein Kindergeburtstag, verglichen mit nem guten Syntax-Check für C++ Programme.



  • Habe mir den Link angesehen und mal eine Trial-Version heruntergeladen. Ist ja nicht gerade allzu billig, um das ganze zu kaufen. Versuche das mal zum laufen zu bringen 🙂

    Wiso ist es für C++ denn viel schwieriger. (Falls es eine sehr komplizierte Antwort ist, bei der man Verständnis von compile-Technicken haben muss, so fürchte ich werde ich es nicht verstehen können. Werde erst nächstes Jahr mit dem Studium beginnen).



  • Achja. Sorry. Du hast ja vermutlich ein Visual Studio Express. Die Express Version kann leider keine "Addins" ausführen 😞
    D.h. auf der bekommst du VAX nicht zum laufen.



  • Ou, schade 😞
    Die Vollversion ist mir da etwas zu teuer.

    Gibts irgend etwas für die Express Version, das Refactoring liefert?



  • icarus2 schrieb:

    Wiso ist es für C++ denn viel schwieriger. (Falls es eine sehr komplizierte Antwort ist, bei der man Verständnis von compile-Technicken haben muss, so fürchte ich werde ich es nicht verstehen können. Werde erst nächstes Jahr mit dem Studium beginnen).

    C++ ist eben auch eine Sprache der mehrdeutigen Symbole. So hat allein das &-Zeichen mehrere Verwendungszwecke. Selbiges gilt für viele andere Operatoren. Auch lassen sich mit typedef eigene Typen definieren. Auch Templates sind möglich. Und so weiter und so weiter. Und Makros gibts ja auch noch.

    Es gibt also genug Situationen in der nur ein Mensch entscheiden kann, ob die ausgeführte Aktion überhaupt Sinn macht. Und es würde natürlich sehr auf die Geschwindigkeit gehen, alles neu zu berechnen und damit überprüfbar zu machen.

    In C# ist alles klarer definiert und es können daher mehr Fehler abgefangen werden.



  • Achso, vielen Dank für die gute Erklärung.



  • icarus2 schrieb:

    Gibts irgend etwas für die Express Version, das Refactoring liefert?

    Die Express-Version kann überhaupt garkeine Plugins laden.

    Es gibt daher auch nichts, was sich irgendwie gut in die IDE integrieren könnte. Also auch keine Refactoring-Tools.



  • Schade. Ich glaube es wäre übertrieben als Hobby-Progger die Vollversion zu kaufen ^^

    Vielen Dank trotzdem 🙂


Anmelden zum Antworten