2009-05-05 17 views
21

Olası Çoğalt:
How do you count the lines of code in a Visual Studio solution?Projemin Visual Studio'da kaç tane kod içerdiğini nasıl gösteririm?

nasıl Visual Studio 2008 Professional SP1 kod ölçümlerini penceresini gösterebilir? Projemin okul için kaç tane kod satırı olduğunu görmeye çalışıyorum ve bulamıyorum.

Yardım dosyasında View-> Other Windows-> Code Metrics bölümüne gidildiğini ancak bu seçeneğin bana uygun olmadığını söyledi. Ayrıca bir seçenek olup olmadığını görmek için Çözüm Gezgini'nde projeyi sağ tıklamayı denedim, ancak yoktu.

Bu özellik bir efsanevi tek boynuzlu at nedir? Pro sürümü bu özelliğe sahip değilse, herkes .cs dosyalarındaki satırları otomatik olarak saymak için basit bir harici yöntem buldu?

+0

Buraya bakın: http://stackoverflow.com/questions/1244729/how-do-you-count-the -Konu-in-a-görsel-stüdyo-çözüm-line daha iyi ve daha esnek bir powershell komutu var o zaman Javier unix içinde ona mevcut. –

cevap

11

Kod Metrikleri, yalnızca Visual Studio 2008'in Team System sürümlerinde kullanılabilir. Express Edition, Standard veya Professional kullanıyorsanız, şansınız kalmaz.

burada yorum ve ekran görüntülerini bakınız:

+0

>. Daniel

+0

Visual Studio'nun daha yeni sürümleri (benim durumumda, 2013) şimdi bunu Profesyonel düzeyde içerir. –

+0

Topluluk 2015 sürümünde bu harika seçenek var. – biv

-13

find . -type f -print0 | wc --files0-from=-

ayy! Pencerelerdesiniz ...

+1

Snark! Snark! Snark! – Cyberherbalist

+1

Aslında bunun için cygwin kullanabilirsiniz, ama vs2008 içinde bir çözüm gerektiğini düşünüyorum. –

2

Bu özellik benim VS2008'imde yok, bu yüzden birkaç ay önce C# dosyalarında CRLF sayısını sayan hızlı ve kirli bir pencere uygulaması gerçekleştirdim. Bu, boş satırları ve VS tarafından oluşturulan dosyalardaki satırları sayar ama biraz ince ayar yaparak, iyi bir sayı üretebildiğinizden eminim. Windows Formunda işlem kodu İşte; dlgFolder kontrolü FolderBrowserDialog kontrolüdür:

if (dlgFolder.ShowDialog() == DialogResult.OK) 
{ 
    int totalLines = 0; 
    string[] fileList = Directory.GetFiles(dlgFolder.SelectedPath, "*.cs", SearchOption.AllDirectories); 

    for (int x = 0; x < fileList.Length; x++) 
    { 
     string[] sourceCodeLines = File.ReadAllLines(fileList[x]); 
     totalLines += sourceCodeLines.Length;  
    } 

    MessageBox.Show(String.Format("There are {0} lines of C# code in the folder{1}", 
totalLines.ToString(), dlgFolder.SelectedPath)); 
} 
122

Sadece basın 3. parti araçlar gerekmez CTRL + SHIFT + F ve seçim açılan pencerede "normal ifade kullanın ". Bu Regular Expression kullanın:

^:b*[^:b#/]+.*$ 

For Visual Studio 2012 ve düzenli ifade üzerindedir:

^(?([^\r\n])\s)*[^\s+?/]+[^\n]*$ 
+0

bu gerçekten iyi çalıştı. teşekkürler – Will

+0

Güzel! Bu ortak bir soruna oldukça güzel bir çözümdür. DPack'i kullanırdım ama çok fazla R # ile karıştığını buldum. +1 –

+0

İnanılmaz, hatta klasörleri ve dosya türlerini filtreleyebilirsiniz. – Dexter

İlgili konular