Знаете, сколько строк кода у вас в проекте Xcode? - PullRequest
25 голосов
/ 29 августа 2011

У меня довольно большой проект, и в конце концов я его закончил.Мне просто интересно узнать, сколько всего строк кода в моем проекте.Я использую Xcode 3. Так вы можете узнать, сколько строк кода было скомпилировано?

Ответы [ 6 ]

63 голосов
/ 23 ноября 2014

Откройте Terminal.app, перейдите в корневой каталог вашего проекта и выполните команду:

Только для Swift:

find . \( -iname \*.swift \) -exec wc -l '{}' \+

Только для Obj-C:

find . \( -iname \*.m -o -iname \*.mm -o -iname \*.h \) -exec wc -l '{}' \+

Для Obj-C + Swift:

find . \( -iname \*.m -o -iname \*.mm -o -iname \*.h -o -iname \*.swift \) -exec wc -l '{}' \+

Для Obj-C + Swift + C + C ++:

find . \( -iname \*.m -o -iname \*.mm -o -iname \*.c -o -iname \*.cc -o -iname \*.h -o -iname \*.hh -o -iname \*.hpp -o -iname \*.cpp -o -iname \*.swift \) -exec wc -l '{}' \+

Краткие подсказки по терминалу:
ls: список содержимого каталога
cd: изменение каталога
Нажмите клавишу табуляции для автозаполнения
Не забудьте поставить обратную косую черту "\" перед пробелами
Я предлагаю убрать одну папку из основного проекта, чтобы вы избавились отсчетчик кодов из рамок

33 голосов
/ 01 сентября 2011

Откройте Terminal.app, cd в корневой каталог вашего проекта и выполните эту команду:

find . \( -iname \*.m -o -iname \*.mm -o -iname \*.c -o -iname \*.cc -o -iname \*.h \) -exec wc -l '{}' \+

Если вы хотите включить в счетчик другие типы файлов, добавьте еще -o \*.ext предложений.

5 голосов
/ 28 августа 2012

Вы можете использовать sloccount или cloc для этого, они оба совместимы с кодом Objective-C.

Я рекомендую использовать sloccount, вы можете получить хороший HTML-отчет, если вы такжеиспользовать Дженкинс.HTML-отчет позволит вам перейти к разным каталогам и файлам.

Это командная строка для обзора вашего кода, если вы находитесь в корневом каталоге вашего проекта Xcode:



    sloccount --duplicates --wide YOUR-TARGET-NAME

И если вы хотите создать отчет для использования в Jenkins, просто добавьте флаг --details:



    sloccount --duplicates --wide --details YOUR-TARGET-NAME > build/sloccount.sc

и установите плагин Jenkins для sloccount через пользовательский интерфейс Jenkins.

Вы сможете увидеть примеры таких отчетов в Jenkins в этой статье блога (отказ от ответственности: я автор): http://blog.octo.com/en/jenkins-quality-dashboard-ios-development/#step1-1.

4 голосов
/ 29 августа 2011

Один из способов - загрузить копию в Xcode и использовать «Project Analyzer для Xcode 4». Ищите «Xcode» в Apple Mac App Store. Я не пользовался этой программой, но случайно увидел ее вчера, когда искал приложения, связанные с Xcode, в Mac App Store.

Надеюсь, это поможет.

3 голосов
/ 25 июня 2015

Скрипт bash, который находит количество строк в файлах WITHOUT COMMENTS AND EMPTY LINES.Скрипт не считает комментарии, начинающиеся с //.Скопируйте скрипт в папку вашего проекта и запустите sh scriptname.sh.

Для быстрого изменения \( -iname \*.m -o -iname \*.mm -o -iname \*.h \) на \( -iname \*.swift \)

# $excluded is a regex for paths to exclude from line counting
excluded="some_dir_name\|some_dir_name2\|lib\|thisfile"

countLines(){
  # $total is the total lines of code counted
  total=0
  # -mindepth exclues the current directory (".")
  for file in `find . -mindepth 1 \( -iname \*.m -o -iname \*.mm -o -iname \*.h \) | grep -v "$excluded"`; do
    # First sed: only count lines of code that are not commented with //
    # Second sed: don't count blank lines
    # $numLines is the lines of code
    numLines=`cat $file | sed '/\/\//d' | sed '/^\s*$/d' | wc -l`

    # To exclude only blank lines and count comment lines, uncomment this:
    #numLines=`cat $file | sed '/^\s*$/d' | wc -l`

    total=$(($total + $numLines))
    echo "  " $numLines $file
  done
  echo "  " $total in total
}

countLines
2 голосов
/ 29 августа 2011

Я не уверен ни в каких инструментах, которые подключаются к XCode напрямую (почему вы все еще используете XCode 3, когда 4.1 свободно доступен на Lion?), Но я считаю, что командная строка cloc инструмент хорошо работает с кодом Objective-C.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...