937 Stimmen

Wie zählt man die Codezeilen in einer Visual Studio-Lösung?

Ist es möglich, die Anzahl der Codezeilen in einer gesamten Lösung zu ermitteln? Ich habe gehört, dass MZ-Tools aber gibt es ein Open-Source-Äquivalent?

81voto

Mads Andersen Punkte 3083

Ich habe diesen Tipp gefunden: LOC mit VS Suchen und Ersetzen

Allerdings kein Plugin, wenn es das ist, wonach Sie suchen.

74voto

Mark Rushakoff Punkte 236626

cloc ist ein ausgezeichnetes Kommandozeilenprogramm, das auf Perl basiert und unter Windows ausgeführt werden kann, um leere Zeilen, kommentierte Zeilen und Quellcodezeilen nach Dateiformaten aufzuschlüsseln.

Jetzt wird es nicht speziell auf einer VS-Lösungsdatei ausgeführt, aber es kann Verzeichnisse durchsuchen, und Sie können Dateinamensfilter einrichten, wie Sie es für richtig halten.

Hier ist ein Beispiel für die Ausgabe auf der Webseite:

prompt> cloc perl-5.10.0.tar.gz
    4076 text files.
    3883 unique files.                                          
    1521 files ignored.

http://cloc.sourceforge.net v 1.07  T=10.0 s (251.0 files/s, 84566.5 lines/s)
-------------------------------------------------------------------------------
Language          files     blank   comment      code    scale   3rd gen. equiv
-------------------------------------------------------------------------------
Perl               2052    110356    112521    309778 x   4.00 =     1239112.00
C                   135     18718     22862    140483 x   0.77 =      108171.91
C/C++ Header        147      7650     12093     44042 x   1.00 =       44042.00
Bourne Shell        116      3402      5789     36882 x   3.81 =      140520.42
Lisp                  1       684      2242      7515 x   1.25 =        9393.75
make                  7       498       473      2044 x   2.50 =        5110.00
C++                  10       312       277      2000 x   1.51 =        3020.00
XML                  26       231         0      1972 x   1.90 =        3746.80
yacc                  2       128        97      1549 x   1.51 =        2338.99
YAML                  2         2         0       489 x   0.90 =         440.10
DOS Batch            11        85        50       322 x   0.63 =         202.86
HTML                  1        19         2        98 x   1.90 =         186.20
-------------------------------------------------------------------------------
SUM:               2510    142085    156406    547174 x   2.84 =     1556285.03
-------------------------------------------------------------------------------

Die Äquivalenzskala der dritten Generation ist eine grobe Schätzung, wie viel Code in einer Sprache der dritten Generation . Nicht sonderlich nützlich, aber trotzdem interessant.

44voto

Regfor Punkte 8167

Die Antworten hier sind ein wenig veraltet, vielleicht aus der Zeit vor 2008. Denn in neueren Visual Studio Versionen 2010/2012 ist diese Funktion bereits eingebaut. So gibt es keinen Grund, jede Erweiterung oder Tools für sie zu verwenden.

Funktion zum Zählen von Codezeilen - Calculate Metrics. Damit können Sie Ihre Metriken (LOC, Maintaince Index, Cyclomatic Index, Depth of Inheritence) für jedes Projekt oder jede Lösung berechnen.

Klicken Sie einfach mit der rechten Maustaste auf eine Projektmappe oder ein Projekt im Projektmappen-Explorer,

enter image description here

und wählen Sie "Metriken berechnen".

enter image description here

Später können die Daten zur Analyse und Aggregation in Excel importiert werden. Auch in Excel können Sie generierte Klassen oder anderes Rauschen aus Ihren Metriken herausfiltern. Diese Metriken, einschließlich Lines of Code LOC, können auch während des Build-Prozesses erfasst und in den Build-Bericht aufgenommen werden.

29voto

user2711915 Punkte 2434

Reguläre Ausdrücke haben sich zwischen VS2010 und 2012 geändert, so dass die meisten der regulären Ausdrücke Lösungen hier nicht mehr funktionieren

(^(?!(\s*//.+)))+(^(?!(#.+)))+(^(?!(\s*\{.+)))+(^(?!(\s*\}.+)))+(^(?!(\s*\r?$)))+

Findet alle Zeilen, die nicht leer sind, die nicht nur eine einzelne Klammer ( '{' oder '}' ) und nicht nur ein #include oder einen anderen Präprozessor enthalten.

Utilisez Ctrl - shift - f und stellen Sie sicher, dass reguläre Ausdrücke aktiviert sind.

Der entsprechende reguläre Ausdruck für VS 2010 und älter lautet

^~(:Wh@//.+)~(:Wh@\{:Wh@)~(:Wh@\}:Wh@)~(:Wh@/#).+

19voto

Christopher Klein Punkte 2806

In Visual Studio Team System 2008 können Sie über das Menü Analyze--> 'Calculate Code Metrics for Solution' eine Zeilenzählung Ihrer gesamten Lösung durchführen (unter anderem g )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X