Ответ 1
Метрики кода доступны только в версиях Team Visual Studio 2008. Если у вас есть Express Edition, Standard или Professional, вам не повезло.
Смотрите комментарии и скриншоты здесь:
Возможный дубликат:
Как вы рассчитываете строки кода в решении Visual Studio?
Как я могу показать окно метрики кода в Visual Studio 2008 Professional SP1? Я ищу, чтобы узнать, сколько общих строк кода моего проекта для школы, и я не могу его найти.
Файл справки сказал, чтобы перейти в View- > Other Windows- > Code Metrics, но эта опция недоступна для меня. Я также попытался щелкнуть правой кнопкой мыши проект в обозревателе решений, чтобы узнать, есть ли опция, но не было.
Где этот мифический единорог? Если в версии Pro нет этой функции, кто-нибудь нашел простой внешний метод для автоматического подсчета строк во всех файлах .cs?
Метрики кода доступны только в версиях Team Visual Studio 2008. Если у вас есть Express Edition, Standard или Professional, вам не повезло.
Смотрите комментарии и скриншоты здесь:
Вам не нужны сторонние инструменты, просто нажмите CTRL + SHIFT + F, а в появившемся окне выберите "использовать регулярное выражение". Используйте это регулярное выражение:
^:b*[^:b#/]+.*$
Для Visual Studio 2012 и выше регулярное выражение:
^(?([^\r\n])\s)*[^\s+?/]+[^\n]*$
DPack делает это. После установки просто перейдите в Tools → DPack → Solution Statistics..
У меня нет этой функции в моем VS2008, поэтому несколько месяцев назад я реализовал быстрое и грязное приложение для Windows, которое подсчитывает количество CRLF в моих файлах С#. Конечно, это подсчет пустых строк и строк в файлах, созданных VS, но с небольшим количеством настроек, я уверен, что вы можете заставить его генерировать хороший счет. Вот оперативный код в Windows Form; Элемент управления dlgFolder является элементом управления FolderBrowserDialog:
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));
}
find . -type f -print0 | wc --files0-from=-
упс! вы находитесь в окнах...