2010-07-09 8 views
9

Ich frage mich, ob jemand Glück gehabt hat mit dem Plugin mit Projekten, die nicht in Java sind (speziell ich versuche, Code-Metriken für ein paar PyDev-Projekte zu generieren). Ich habe den Durchlauf für das Metrics-Projekt gelesen, aber es zeigt an, dass ich in der Java-Perspektive sein sollte, bevor ich auf die Eigenschaften für mein Projekt zugreife und dass ich einen Metriken-Abschnitt finden sollte. Das bekomme ich für meine PyDev-Projekte nicht, egal welche Perspektive ich geöffnet habe. Irgendwelche Vorschläge oder Ratschläge wären großartig.Codezeilen in Eclipse PyDev Projects

Antwort

16

Ich weiß nicht, ob es das Plugin an der Arbeit mit pydev Projekten, aber wenn es nur die lines-of-code Metrik Sie nach machbar, Sie root im Verzeichnis Ihres Projektes diesen Schnipsel laufen können:

# prints recursive count of lines of python source code from current directory 
# includes an ignore_list. also prints total sloc 

import os 
cur_path = os.getcwd() 
ignore_set = set(["__init__.py", "count_sourcelines.py"]) 

loclist = [] 

for pydir, _, pyfiles in os.walk(cur_path): 
    for pyfile in pyfiles: 
     if pyfile.endswith(".py") and pyfile not in ignore_set: 
      totalpath = os.path.join(pydir, pyfile) 
      loclist.append((len(open(totalpath, "r").read().splitlines()), 
           totalpath.split(cur_path)[1])) 

for linenumbercount, filename in loclist: 
    print "%05d lines in %s" % (linenumbercount, filename) 

print "\nTotal: %s lines (%s)" %(sum([x[0] for x in loclist]), cur_path) 
+0

das tat, was ich brauchte es. Vielen Dank! –

2

Wenn Sie in Linux sind ...

Haben Sie einen Blick auf cloc geworfen?

Es produziert ziemlich komplette Ausgaben, und mehr Optionen akzeptiert:

[email protected]:~/Documents/Projects/myProject$ cloc . 
    1840 text files. 
    1566 unique files.           
    9362 files ignored. 

http://cloc.sourceforge.net v 1.53 T=3.0 s (454.3 files/s, 81397.0 lines/s) 
-------------------------------------------------------------------------------- 
Language      files   blank  comment   code 
-------------------------------------------------------------------------------- 
Javascript      709   19190   17283   93862 
Python       333   6278   3399   38398 
C        86   3244   2303   17755 
CSS        122   1786   1592   16856 
HTML        55   784    51   8072 
Bourne Shell      14   651   280   6641 
C/C++ Header      6   301   293   1259 
XML        9    5    0   1153 
PHP        2    88   211   585 
SQL        19   200   127   576 
Bourne Again Shell    2    57    15   494 
make        5    41    19   187 
DOS Batch       1    21    1   133 
-------------------------------------------------------------------------------- 
SUM:       1363   32646   25574   185971 
-------------------------------------------------------------------------------- 

Es ist in den Ubuntu-Repositories zur Verfügung, ebenso.

0

Auf Unix Sie den folgenden vom Terminal laufen können:

find . -name '*.py' | xargs cat | egrep "[a-zA-Z0-9_{}]" | wc -l 

Wenn Sie nicht Kommentare zählen wollen, müssen Sie einen besseren regulären Ausdruck ...

Verwandte Themen