company_banner

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

    Вышел 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

    JetBrains
    Делаем эффективные инструменты для разработчиков

    Похожие публикации

    Комментарии 1

      0
      [Тока не гнобите плиз]
      Я очень жду что рано или поздно появятся storyboard, xib для ios.
      Тогда я сразу же ваш. Вы крутые!

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое