- PVSM.RU - https://www.pvsm.ru -
Привет!
Совсем недавно вышел AppCode 2016.3, и в этом посте мы расскажем о самых интересных изменениях в нем.
Одной из основных задач, над которыми мы работали в этом релизе, была поддержка Swift 3. Многое [1] мы успели реализовать, а над оставшимися задачами продолжим работать в будущих обновлениях.
В каждом новом обновлении мы стараемся расширить возможности кодогенерации для Swift. Это и Live Templates [2], в том числе позволяющие «обернуть» выделенный участок кода, и рефакторинг Introduce Variable [3], и Override/Implement (^O
/^I
), с помощью которого можно сгенерировать определения сразу для нескольких методов.
В этом релизе мы добавили возможность создавать переменные, функции, методы и даже свойства классов из их использований. Особенно это удобно, если нужно что-то быстро cпрототипировать. Пусть метода ещё нет, напишем его, передадим нужные аргументы, вызовем ⌥⏎
— и все, остается лишь немного исправить автоматически сгенерированную сигнатуру функции, если это необходимо:
Как видно на гифке, используя тот же принцип можно создавать и другие сущности в коде. Аналогичную возможность для генерации типов (классов, структур и т. п.) мы планируем добавить для Swift чуть позже. А вот в Objective-C/C/C++ все эти возможности уже давно есть, и пользоваться ими можно и нужно прямо сейчас.
Для Objective-C/C/C++ в AppCode есть масса настроек форматирования:
Применить их можно, вызвав ⌘⌥L
на выделенном участке кода (а если код не выделен, будет отформатирован файл целиком). Базовые возможности для Swift были реализованы еще в версии 3.1 [4], при этом многих настроек форматирования, специфичных для языка, среди них не было. В этом релизе мы решили их добавить.
Теперь в AppCode можно настраивать различные правила переноса для:
Также добавлен блок для пробелов до и после двоеточий в спецификациях типов переменных, словарей и парах «ключ: значение» в самих словарях:
Мы улучшили быстродействие AppCode при работе со Swift по нескольким основным направлениям.
Первое — вывод типов. От него в AppCode зависит и скорость подсветки кода, и скорость автодополнения, и многое другое. В итоге удалось даже для сложных конструкций кода его существенно ускорить.
Второе — скорость автодополнения. Здесь мы основательно поработали над кэшированием списка вариантов, что позволило сделать его значительно более быстрым.
Также удалось исправить несколько проблем в интеграции с SourceKit, которые отражались на скорости показа ошибок, предупреждений и исправлений (fix-it).
Теперь в AppCode можно запускать (^⌥R
) и отлаживать (^⌥D
) UI-тесты. Упавшие тесты можно отфильтровать от пройденных и после исправлений перезапустить только их:
Результаты запуска тестов можно отсортировать по продолжительности (или по имени):
Все они сохраняются во встроенной истории, и позже их можно просмотреть прямо в IDE:
Как и во многих других продуктах JetBrains, в AppCode появилась возможность подсветки параметров функций и переменных уникальными цветами. Включить ее можно для Swift/Objective-C/C/C++ в настройках Editor → Colors & Fonts → Language Defaults → Semantic highlighting:
По традиции, улучшения поддержки C/C++, реализованные командой CLion [5], доступны и в AppCode. Про них можно прочитать в этом посте [6] в разделах Поддержка C и Поддержка С++, соответственно. Кстати, различные платформенные изменения (такие как улучшения в поддержке контроля версий, San Francisco в качестве дефолтного шрифта в меню и другие), описанные в этом посте, также доступны в AppCode.
Небольшое демо (на английском) с демонстрацией новых возможностей от нашего девелопер-адвоката Фила Нэша:
Читайте о других возможностях продукта у нас на сайте [7], следите за обновлениями в нашем англоязычном блоге [8], и задавайте любые возникшие вопросы в комментариях к этому посту.
Автор: JetBrains
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/ios/224601
Ссылки в тексте:
[1] Многое: https://youtrack.jetbrains.com/issue/OC-13726
[2] Live Templates: https://confluence.jetbrains.com/display/OBJC/Live+Templates
[3] Introduce Variable: https://habrahabr.ru/company/JetBrains/blog/306738/
[4] версии 3.1: https://habrahabr.ru/company/JetBrains/blog/245907/
[5] CLion: http://www.jetbrains.com/clion/
[6] этом посте: https://habrahabr.ru/company/JetBrains/blog/315962/
[7] у нас на сайте: https://www.jetbrains.com/objc/whatsnew/
[8] англоязычном блоге: http://blog.jetbrains.com/objc/
[9] Источник: https://habrahabr.ru/post/318304/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.