- 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/
Нажмите здесь для печати.