Что нового в AppCode 2018.2

в 14:37, , рубрики: appcode, iOS, objective-c, sqlite, swift, Блог компании JetBrains, мобильная разработка, разработка мобильных приложений, разработка под iOS

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

Splash

Swift

Извлечение замыканий

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

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

Извлечение замыканий

Переименование

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

Локальное переименование

Многое доработали в кросс-языковой части. Теперь можно нормально переименовывать аргументы блоков в Objective-C, имена классов, экспортированных из Objective-C в Swift с помощью атрибута @objc, и элементы перечислений в Swift.

Автодополнение

Продолжаем закрывать “элементарные” случаи типов автодополнения. В этот раз добавили автоматическую вставку ‘?’ для опциональных типов:

Автодополнение для ?

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

Автодополнение атрибутов

Гензель и Гретель спасены

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

Breadcrumbs

Комментарии для расширений

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

Комментарии в Structure

Override/Implement

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

Override/Implement

Intentions

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

Intentions

Отладка

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

Chisel

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

Debugger

Сообщения сборки

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

Run Script

Поддержка баз данных

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

Со всеми возможностями можно ознакомиться у нас на сайте.

Touch Bar

Теперь работает и в AppCode:

Touch Bar

Контроль версий

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

Интерфейс пользователя

Самое видимое из изменений — это полностью переработанные в едином стиле иконки:

Иконки

Про процесс изменения иконок можно прочитать вот тут.

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

Автор: yeswolf

Источник


* - обязательные к заполнению поля