+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 | /code>
  • Те ж саме для порожніх оголошень типів (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.

Інші новини

Найкраща ціна