- PVSM.RU - https://www.pvsm.ru -
Привет! Недавно мы выпустили AppCode 2017.1, сейчас готовим первое обновление — пора рассказать обо всех изменениях в этой версии.

Мы реализовали поддержку множества изменений в Swift 3, среди которых особенно хочется отметить:

#keyPath (и изменения в синтаксисе #selector тоже):


prefix, postfix, infix и реализовали корректную навигацию между декларацией оператора в протоколе и его реализацией. Кроме этого, теперь можно быстро сгенерировать заглушку для таких операторов через Override/Implement:

__attribute__((swift_wrapper(struct))) и __attribute__((swift_wrapper(enum)))С полным списком изменений можно ознакомиться вот тут [5].
Кроме этого, мы реализовали поддержку метатипов [6], научились корректно обрабатывать nullability audited regions [7] и nullability attributes [8] в Objective-C и улучшили резолв для super.init() и self.init().
В прошлой версии [9] мы реализовали возможность создавать переменные, функции, методы и даже свойства классов из их использований. А в этой мы сделали то же самое для типов (классов, структур, перечислений, протоколов) и их инициализаторов:

Override/Implement (^O/^I) позволяет генерировать определения сразу для нескольких методов какого-либо класса или протокола. В AppCode 2017.1 мы сделали диалог Override/Implement для Swift более удобным, а генерацию кода — более корректной:

convenience/required)Теперь AppCode умеет фильтровать список автодополнения для методов и функций не только по их названиям, но и по названиям их параметров:

Кроме этого, мы добавили ключевые слова dynamic, lazy, postfix, prefix и indirect в список автодополнения там, где это необходимо.
Нас долго просили добавить в Structure view (⌘7) и popup-окно File Structure (⌥F12) отображение комментариев вида //MARK, //TODO и //FIXME для Swift, и вот мы это сделали:

Если нужен список только //TODO и //FIXME, можно, как и раньше, использовать TODO view (⌘6):

По традиции, улучшения поддержки C++, реализованные командой CLion, доступны и в AppCode. Про них можно прочитать в этом посте [10] в разделе C++14 и C++17.
В окне сообщений сборки (⌘0) появилась возможность фильтрации сообщений по типу:

По умолчанию, нажатие на breakpoint в продуктах IntelliJ убирает его, что иногда может мешать (например, если breakpoint срабатывает в случае определенного условия, заданного в его настройках). Теперь можно избежать подобной ситуации, выбрав Drag to the editor area в разделе настроек Preferences | Build, Execution, Deployment | Debugger | Remove breakpoint:

Как и все продукты JetBrains, AppCode теперь корректно отображает эмодзи в редакторе кода и различных окнах IDE:

Изменилось окно полнотекстового поиска Find in Path — интерфейс стал лаконичнее, необходимость переключаться между несколькими вкладками в окне отпала:

На этом все — читайте о других возможностях продукта у нас на сайте [11], следите за обновлениями в нашем англоязычном блоге [12], и задавайте любые возникшие вопросы в комментариях к этому посту.
Автор: yeswolf
Источник [13]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ios/252775
Ссылки в тексте:
[1] SE-0005: https://youtrack.jetbrains.com/issue/OC-14199
[2] SE-0062: https://youtrack.jetbrains.com/issue/OC-14598
[3] SE-0091: https://youtrack.jetbrains.com/issue/OC-14412
[4] SE-0033: https://youtrack.jetbrains.com/issue/OC-14140
[5] тут: https://youtrack.jetbrains.com/issue/OC-13726
[6] поддержку метатипов: https://youtrack.jetbrains.com/issue/OC-14366
[7] nullability audited regions: https://youtrack.jetbrains.com/issue/OC-13932
[8] nullability attributes: https://youtrack.jetbrains.com/issue/OC-11980
[9] прошлой версии: https://habrahabr.ru/company/JetBrains/blog/318304/
[10] этом посте: https://habrahabr.ru/company/JetBrains/blog/325372/
[11] у нас на сайте: https://www.jetbrains.com/objc/whatsnew/
[12] англоязычном блоге: http://blog.jetbrains.com/objc/
[13] Источник: https://habrahabr.ru/post/326528/
Нажмите здесь для печати.