В этом выпуске: больше новых рефакторингов, лучше автодополнение, поддержка баз данных из DataGrip и даже поддержка Touch Bar. Более подробно — под катом.

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

Сигнатуру замыкания, как и всегда, легко менять:

Убрали диалоги для локального переименования:

Многое доработали в кросс-языковой части. Теперь можно нормально переименовывать аргументы блоков в Objective-C, имена классов, экспортированных из Objective-C в Swift с помощью атрибута
Продолжаем закрывать “элементарные” случаи типов автодополнения. В этот раз добавили автоматическую вставку ‘?’ для опциональных типов:

И параллельно добавляем чуть менее элементарные, вроде автодополнения для атрибутов в Swift:

Плюс наших хлебных крошек — в том, что птицы их не съедят. Поэтому и Гензель, и Гретель без проблем найдут путь домой:

В Objective-C категории легко отличить по имени. А вот в Swift имен у расширений (extensions) нет. Поэтому мы добавили в Structure View отображение комментариев из кода расширений в Swift:

Исправили генерацию перегрузок / реализаций для полей с одинаковым именем из базовых классов и протоколов, изменяемых свойств (mutable) и опциональных частей протоколов, еще не реализованных в базовом классе:

В AppCode 2017.3 появились действия для добавления / удаления явно указанных типов у переменных, а в AppCode 2018.2 мы реализовали то же самое для циклов:

Решили проблему с выводом для скриптов на Python (таких как Chisel):

Платформа выкатила небольшую, но очень удобную фичу — пачку действий для манипуляции с точками останова через

В этом релизе мы решили, кажется, последнюю действительно крупную проблему с отображением сообщений сборки — стали нормально обрабатывать вывод фазы Run Script:

В AppCode 2018.2 мы включили полную функциональность DataGrip для работы с БД. Вот, кстати, пример для SQLite:
Со всеми возможностями можно ознакомиться у нас на сайте.
Теперь работает и в AppCode:

Как и всегда, множество улучшений добавлено в платформу IntelliJ, и все они теперь доступны в AppCode.
Самое видимое из изменений — это полностью переработанные в едином стиле иконки:

Про процесс изменения иконок можно прочитать вот тут.
На этом все. Как и всегда, скачивать — тут, баги — в трекер, вопросы общего характера задаем прямо здесь.

Swift
Извлечение замыканий
Вслед за извлечением методов мы научились извлекать замыкания. Отдельного сочетания клавиш не нашлось, но рефакторинг можно легко вызвать через
⌃T
+ 5
:
Сигнатуру замыкания, как и всегда, легко менять:

Переименование
Убрали диалоги для локального переименования:

Многое доработали в кросс-языковой части. Теперь можно нормально переименовывать аргументы блоков в Objective-C, имена классов, экспортированных из Objective-C в Swift с помощью атрибута
@objc
, и элементы перечислений в Swift.Автодополнение
Продолжаем закрывать “элементарные” случаи типов автодополнения. В этот раз добавили автоматическую вставку ‘?’ для опциональных типов:

И параллельно добавляем чуть менее элементарные, вроде автодополнения для атрибутов в Swift:

Гензель и Гретель спасены
Плюс наших хлебных крошек — в том, что птицы их не съедят. Поэтому и Гензель, и Гретель без проблем найдут путь домой:

Комментарии для расширений
В Objective-C категории легко отличить по имени. А вот в Swift имен у расширений (extensions) нет. Поэтому мы добавили в Structure View отображение комментариев из кода расширений в Swift:

Override/Implement
Исправили генерацию перегрузок / реализаций для полей с одинаковым именем из базовых классов и протоколов, изменяемых свойств (mutable) и опциональных частей протоколов, еще не реализованных в базовом классе:

Intentions
В AppCode 2017.3 появились действия для добавления / удаления явно указанных типов у переменных, а в AppCode 2018.2 мы реализовали то же самое для циклов:

Отладка
Решили проблему с выводом для скриптов на Python (таких как Chisel):

Платформа выкатила небольшую, но очень удобную фичу — пачку действий для манипуляции с точками останова через
⌥⏎
:
Сообщения сборки
В этом релизе мы решили, кажется, последнюю действительно крупную проблему с отображением сообщений сборки — стали нормально обрабатывать вывод фазы Run Script:

Поддержка баз данных
В AppCode 2018.2 мы включили полную функциональность DataGrip для работы с БД. Вот, кстати, пример для SQLite:
Со всеми возможностями можно ознакомиться у нас на сайте.
Touch Bar
Теперь работает и в AppCode:

Контроль версий
Как и всегда, множество улучшений добавлено в платформу IntelliJ, и все они теперь доступны в AppCode.
Интерфейс пользователя
Самое видимое из изменений — это полностью переработанные в едином стиле иконки:

Про процесс изменения иконок можно прочитать вот тут.
На этом все. Как и всегда, скачивать — тут, баги — в трекер, вопросы общего характера задаем прямо здесь.