1/26/2008

Contar Linhas de Código C# no Windows Forms

Cansado de procurar onde ver quantas linhas de código tinha meu projeto resolvi contar na marra mesmo.

Se alguém souber como habilitar a contagem de linhas de código de um projeto por favor me digam.


Segue o código abaixo:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Collections;
using Microsoft.Build.Tasks;
using Microsoft.Build.Framework;

namespace ContarLinhasCodigo
{
public partial class Form1 : Form
{
string DiretorioRaiz = "C:/Codigo Fonte";

public Form1()
{
InitializeComponent();

DirectoryInfo dir = new DirectoryInfo(DiretorioRaiz);
IEnumerator arquivos = null;
try
{
arquivos = dir.GetFiles("*.cs", SearchOption.AllDirectories).GetEnumerator();
}
catch (DirectoryNotFoundException)
{
lbTotalLinhas.Text = "Diretório não encontrado";
return;
}

object arquivo;
long totLinhas = 0;
int linhasArquivo = 0;

TextReader tr = null;
while (arquivos.MoveNext())
{

arquivo = arquivos.Current;

if ((arquivo as FileSystemInfo).Name.Contains("Designer"))
continue;

#region Contar Linha do arquivo
tr = new StreamReader((arquivo as FileSystemInfo).FullName);
while (tr.ReadLine() != null)
{
linhasArquivo++;
totLinhas++;
}
Console.WriteLine((arquivo as FileSystemInfo).Name + ":" + linhasArquivo);
linhasArquivo = 0;
#endregion
}

Console.WriteLine("Total de Linhas do Projeto: " + totLinhas);
Text = "Total de Linhas de: " + DiretorioRaiz;
lbTotalLinhas.Text = totLinhas.ToString();
}
}
}


Ezequias