Разработка программных продуктов — очень интересный процесс, который нам всем очень-очень нравится, но есть некоторые вещи, которые слишком монотонны. Сегодня я бы хотел рассказать про то, как я упростил свой рабочий процесс в Xcode с помощью различных сторонних плагинов.
Заинтересованных прошу под кат
С чего начнем?
Я советую начать с установки менеджера пакетов для Xcode — Alcatraz. Установить его можно выполнив всего одну команду в Terminal.app:
curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh
Итак, перезапускаем Xcode, жмем Window-> Package Manager. Теперь мы получили UI для управления нашими плагинами. Уже хорошо (любители терминала могут продолжить делать все через консоль).
Импорты?
Импорт файлов в Objective-C — довольно нудная операция. Представьте ситуацию: вы где-то по колено в коде, а тут вам нужно импортировать еще один класс. Вы скроллите до самого верха *.m файл или переходите в *.h. После этого пишите #import… и возвращаетесь обратно.
Чтобы решить эту проблему — достаточно установить плагин Auto-Importer. Перезапускаем Xcode, начинаем вводить класс, который еще не импортирован, нажимаем Ctrl+Cmd+H, вуаля:
А теперь достаточно нажать Return и класс импортирован. По-моему, это очень круто.
Надоел черный цвет?
Консоль — мощный инструмент для дебага, но всегда не хватает возможности как-то выделить очень важные сообщения. С этим нам поможет плагин XcodeColors, который добавит в вывод цвета:
Как видно на скриншоте — синим я подсветил отправляемые из приложения реквесты (реализовано через NSURLProtocol. Если кому-то интересно, как реализовать подобное — пишите, сделаю отдельный пост), а красным подсвечены не обрабатываемые SSE event'ы.
Для того, чтобы сделать подобное достаточно установить плагин и добавить в ваш *.pch файл строчку:
#define LogRed(frmt, ...) NSLog((XCODE_COLORS_ESCAPE @"fg255,0,0;" frmt XCODE_COLORS_RESET), ##__VA_ARGS__)
Как видно из кода:
255,0,0 — RGB цвета (можно хоть радугу нарисовать в консоли, если постараться)
LogRed — просто дефайн, чтобы в дальнейшем делать красные логи
В итоге имеем:
LogRed(@"My string: %@", string);
На закуску
Очень удобным оказался набор расширений для Quick Look, которые позволяют сразу форматировать JSON, отображать размер изображений, добавляют подсветку синтаксиса и многое другое.
Надеюсь, что пост оказался полезен и я не потратил зря ваше ценное время. С радостью отвечу на любые вопросы в комментариях.
Автор: itruf