Плагины для XCode и Alcatraz

К сожалению, XCode остается закрытой IDE, не поддерживающей систему плагинов. Но добрые люди создали менеджер плагинов Alcatraz. Он позволит устанавливать их прямо из интерфейса XCode.
Для его установки необходим Xcode Command Line Tools, так что если его нет — сделаем это из Xcode: Preferences -> Downloads
После этого в консоли выполним команду

После завершения процесса установки перезагружаем XCode.

При загрузке он выдаст окно с предупреждением о том, что появился новый плагин, который был создан не Apple, жмем Load Bundle:
attention

После этого в меню Window появится пункт Package Manager
menu

При выборе этого пункта откроется окно в котором будет список плагинов, которые можно установить, список солидный.
list
Кстати под описанием всегда идет ссылка на гитхаб, по которой можно найти исчерпывающую информацию по конкретному плагину.

Я всегда начинаю с плагина FuzzyAutoСomplete
Как известно команда меню File -> Open Quickly… (⌘ + ⇧ + O) позволяет осуществить быструю навигацию, как по имени файла, так и метода. Более того, можно набрать лишь часть имени, к примеру как тут на клавиатуре я набрал JED, и мне был предложен JournalEntryDelegate
quick open

Отлично, но что если я в коде попробую набрать JED? А ничего. Не поддерживается интеллектуальный набор в коде

code AutoComplete

В общем плагин FuzzyAutoСomplete помогает решить эту проблему.
Жмем INSTALL, в итоге у нас окно плагина менеджеров вида
after install

Хорошо, пробуем набрать в коде то же сочетание букв.

autocomplete

Вуаля, очень хорошо разгружает мозг, ведь бывает, что помнишь лишь одно слово из метода.

В общем пробегусь по списку плагинов, которые на мой взгляд сильно облегчают жизнь.

  • AdjustFontSize — позволяет по шоткатам ⌘ + / ⌘ — на лету менять размер шрифта в XCode. Бывает очень полезно по быстрому сконцентрироваться на куске кода увеличив шрифт, или наоборот охватить побольше строк уменьшив оный. Влияет глобально а не для конкретного открытого файла.
  • Backlight — Простой плагин подсвечивающий текщую строку на которой находится курсор (чтоб лишний раз не напрягать глаза). XCode требует перезагрузки, и потом настроить параметры работы плагина

    backlight

  • CLangForrmat — позволяет форматировать по заданным правилам код. По требованию или при сохранении.
    clang
    К сожалению это пока для Obj-C, Swift не поддерживается
  • CocoaPods — установка нужных подов из интерфейса XCode
  • FuzzyAutoСomplete — автодополнение в коде.
  • GitDiff — подсвечивает строки в которых произошли изменения со времени последнего коммита.
    Важно: в XCode должна быть включена опция показа номера строки:
    line numbers

    Теперь окно редактора выглядит вот так:git

    Оранжевым помечаются строки которые поменялись, красным будут показаны — удаленные, синим — добавленные

  • KSImageNamed — плагин добавляющий автодополнение имени ресурса при наборе для NSImage/UIImage.

    sample

  • Lin — отличный плагин, помогает работать с локализацией
    lin
  • MarvinPlugin — при работе с кодом, часто приходится дублировать строки. Отсутствие стандартных средств для этого в XCode — огорчает. Проблему призван решить этот плагин. После установки нужно перезапустить XCode. При загрузке он пожалуется на все те плагины что мы установили, снова жмем Load Bundles
    После перезагрузки нам становится доступно меню Edit -> Marvin
    marvin
    Но есть неудобство, шоткаты настраиваются не из XCode, а посредством Системных настроек.
    Итак, заходим в системные настройки и выбираем Клавиатура -> Сочетания клавиш -> Сочетания клавиш программ
    keyboard settings

    Жмем +
    В пункте Программа выбираем XCode.
    Название меню — интересующий нас пункт из подменю Marvin.
    Пусть будет Duplicate Line
    В качестве шотката выбираем + D
    Я на самом деле отсюда только эту функцию и использую

  • NCSimulatorPlugin — поможет переходить прямо в директорию с документами и самого приложения при работе в симуляторе
    После установки в XCode появляется дополнительный пункт меню Simulator, который после активации даст возможность открыть нужную папку.
    simulator
  • ColorSenseRainbow — классный плагин позволяющий наглядно видеть какой цвет мы выбираем, и наоборот позволяет из GUI генерировать нужный код для этого цвета.
  • OMQuickHelper — плагин для тех кто пользуется программой Dash в качестве просмотрщика документации. Теперь + mouse click по классу или методу покажет не всплывающее окошко в XCode а покажет полную документацию в окне Dash
  • Xcode_beginning_of_line — Теперь при нажатии кнопки Home, курсор будет переноситься не в начало строки, а на первый не пробельный символ. Для чего это нужно? Без этого плагина если нужно скопировать/вырезать строку и вставить в другое место, то мы получаем следующее. Жмем Home, оказываемся в начале строки, жмeм шифт + End — выделяется вся строка с впереди идущими пробелами/табуляторами. Копируем/вырезаем, перемещаемся в нужную позицию в коде, жмем вставить. И вставляется строка со всеми впереди идущими пробельными символами. Не надо так.
  • Xcode_copy_line — То чего не хватает плагину Marvin, если курсор мыши просто находится где то в строке, без выделения — ⌘ + C — скопирует эту строку, а ⌘ + X вырежет

Список внушительный, но я уверен что есть немало полезных плагинов которые я не пробовал, так что если есть чем поделиться — буду благодарен.

2 thoughts on “Плагины для XCode и Alcatraz

  1. Nik Kov

    Спасибо, полезный список.
    От себя добавлю совершенно необходимые плагины
    https://github.com/merrickp/JumpMarks
    https://github.com/hanton/CopyIssue-Xcode-Plugin
    https://github.com/castus/xcode-duplicate-line (вместо Marvin)
    https://github.com/chaingarden/DBSmartPanels/
    https://github.com/insanoid/CleanHeaders-Xcode
    https://github.com/dealforest/Cichlid
    https://github.com/MellongLau/AMMethod2Implement
    https://github.com/qiaoxueshi/QuickFind

    Добавляйся в linkedIn — в поиске «Ник Ков» :)

    1. Администратор Автор записи

      Спасибо за дополнение )
      Правда все это уже не имеет особого смысла, начиная с Xcode 8 они запретили все плагины, кроме соответствующих новым правилам. А там пока из возможностей только манипуляция с текстом. Посмотрим что будет дальше, может расширят возможности.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *