+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новости

JetBrains AppCode 2019.3 - обновление интегрированной среды разработки для Swift, Objective-C, C, C ++ и JavaScript, построенной на платформе IntelliJ IDEA

JetBrains AppCode 2019.3 - обновление интегрированной среды разработки для Swift, Objective-C, C, C ++ и JavaScript, построенной на платформе IntelliJ IDEA

Быстродействие

В JetBrains AppCode 2019.3 быстродействие действительно улучшилось.

  • Подсветка, навигация и автодополнение в проектах на чистом Swift и проектах со смешанным кодом.
  • “Processing Swift Modules”. Интерфейсы модулей на Swift, которые нужны для работы IDE, вплоть до Xcode 11 лежали в тулчейне в бинарном виде, и их текстовое представление нужно было получать через SourceKit. SourceKit работает медленно, и если для системных фреймворков мы уже давно положили в инсталлятор готовые кэши (которые, правда, приходится обновлять для каждого релиза Xcode), то для фреймворков самого проекта этого сделать не получится. 

Еще часть улучшений пока в работе, и их довольно много. Это и дополнительные кэши там, где их пока нет, и улучшение работы алгоритма построения проектных символов, и многое другое. Это уже в планах JetBrains на 2020.1.

Поддержка языка

Задачи по языку имеют для JetBrains тот же приоритет, что и работа по быстродействию, поэтому часть команды JetBrains отслеживает изменения в swift-evolution и, как только они приняты, начинает интегрировать их в AppCode. В этом релизе:

  • SE-0244: Opaque result types;
  • обработка аргументов оберток для свойств (property wrappers) (OC-18766);
  • автодополнение для SE-0252 (Key path member lookup);
  • подсветка для атрибутов параметров.

Действия для модификации кода

Они же интеншены. Команда AppCode растет, и, чтобы ввести нового разработчика в курс, JetBrains обычно даем небольшие, но интересные новые фичи. В этот раз это был десяток действий для Swift, с помощью которых можно:

  • Объединить (и наоборот) объявление переменной с присваиванием ей значения

  • Разделить объявления нескольких переменных на отдельные

  • Разделить/объединить вложенные if/else

  • Поменять местами части сравнений или бинарных выражений

  • Сделать инверсию if

  • Разделить/объединить условия внутри одной конструкции if

  • Применить законы де Моргана

Кодогенерация

Добавлены две новые настройки генерации кода в Editor | Code Style | Swift | Code Generation | General:

  • Prefer Void over () и
  • Prefer explicit return.

Форматирование

По просьбам пользователей добавлены опции форматирования для того, чтобы:

  • Оставлять однострочными небольшие по размеру блоки свойств с willSet/didSet (Preferences | Editor | Code Style | Swift | Wrapping and Braces | Keep when reformatting | Methods and functions in one line)
  • То же самое для пустых объявлений типов (Preferences | Editor | Code Style | Swift | Wrapping and Braces | Keep when reformatting | Empty type declarations in one line)

Нестандартные тулчейны Swift

AppCode научился правильно работать с кодом при использовании нестандартных тулчейнов Swift (например, Swift for Tensorflow).

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

В одном из прошлых релизов была выявлена проблема с сообщениями сборки, которая не решалась в рамках текущей реализации. При этом не исправить ее не могли. Кроме этого, все еще оставались проблемы со скоростью обработки сообщений, их отображением, частыми изменениями формата этих сообщений от одной версии Xcode к другой, и много других мелочей. В итоге JetBrains научила AppCode забирать дерево сообщений сборки прямо из системы сборки Xcode «как есть» и просто отображать его в Messages

Поддержка Mac Catalyst

Работа с таргетами Mac Catalyst, чтобы можно было их запустить, отладить, отобразить в Run Configurations.

Другие новости

Лучшая цена