AppCode News Releases

AppCode 2020.3: локализация для Swift, переход к определению до индексации, улучшенные рефакторинги и многое другое

Read this post in other languages:
English

Вышел AppCode 2020.3. Ниже подробнее обо всех изменениях.

КПДВ

Скачать AppCode 2020.3

Поддержка Swift

Поддержали пачку новых возможностей языка:

  • SE-0279, SE-0286: Multiple trailing closure syntax.
  • Allow synthesis of Equatable and Hashable in conditional conformances (see the SE-0185 amendment).
  • SE-0276: Multi-pattern catch clauses.
  • SE-0269: Increased availability of implicit self in @escaping closures when reference cycles are unlikely to occur.
  • SE-0044: Import as member (OC-20445).
  • SE-0280: Enum cases as protocol witnesses.

Локализация

В AppCode давно есть локализация для строк в Objective-C, в этом релизе реализовали то же самое для Swift:

  • Добавили действие для выделения строки в .strings-файл:

    Локализация строки

  • Сделали фолдинг для NSLocalizedString:

    Фолдинг для локализованных строк

  • Реализовали навигацию, автодополнение и поиск использований для ключей локализации.

Действия для изменения кода

Добавили несколько небольших, но полезных действий по модификации кода:

  • Проверку и удаление ненужных self:

    Проверка и удаление ненужных self

  • Действие для удаления ненужных аргументов в замыканиях:

    Удаление ненужных списков аргументов

  • Конвертацию замыканий в конце выражения в аргументы метода (и наоборот):

    Замыкание в аргумент метода

  • Превью для быстрых исправлений:

    Превью

Change Signature

Rename, который работает для смешанного Objective-C/Swift кода, у нас уже есть. А в этом релизе доработали Change Signature, чтобы он тоже работал сразу же со смешанным кодом. Кроме этого:

  • Добавили выбор типа throw в диалог рефакторинга:

    Change Signature

  • Стали нормально обрабатывать значения по умолчанию для аргументов и variadic-параметры
  • Стали правильно показывать превью для init-методов.

Rename

Сделали новое отображение для настроек рефакторинга Rename — открыть их можно по :

Rename

Переход к определению типа

Работает даже до конца индексации — реализовали по тому же принципу, что и автодополнение с использованием SourceKit.

Отладчик

В отладчике появилось несколько полезных платформенных возможностей:

  • Возможность просмотреть поля переменной прямо в редакторе и добавить ее в Inline Watches:

    Inline watches

  • Отображение Inline Watches в табе Variables:

    Inline Watches

  • Стрелочка счетчика команд, которую можно двигать во время отладки:

    Program counter

Code With Me

Code With Me

Многие, наверное, слышали про новый сервис от JetBrains для совместного редактирования кода — Code With Me. Теперь он работает в AppCode через соответствующий плагин. Подробнее про него можно прочитать вот тут.

Контроль версий

Теперь вместо changelist’ов можно включить git stage:

Git stage

А Search Everywhere получил новый таб для поиска по коммитам:

Git tab

Поддержка XCFrameworks

Это про сущности из .xcframework — теперь они корректно определяются IDE.

Просмотр определения

Возможен прямо из Project view с помощью ⌥Space:

Просмотр определения

На этом все! Все вопросы и пожелания пишите прямо тут в комментариях — будем рады ответить!

Ваша команда AppCode
The Drive to Develop

Оригинал статьи опубликован на habr.com:
https://habr.com/ru/company/JetBrains/blog/530318/

Discover more