AppCode 2020.2: поддержка Swift Package Manager, улучшенное быстродействие, Change Signature для Swift и многое другое

Опубликовано , автор: Oksana Mandryka

КПДВ — это Change Signature, уже пятый рефакторинг для Swift. Обо всем остальном в новом AppCode 2020.2 — ниже.

Поддержка Swift Package Manager

Мы сделали начальную поддержку SPM-зависимостей в проектах для Xcode, а именно:

  • Отображение зависимостей в окне проекта:

    ![](https://blog.jetbrains.com/wp-content/uploads/2020/08/2-1.png)

  • Автодополнение, подсветку и навигацию для них, плюс некоторые специфичные для SPM-зависимостей возможности, такие как автодополнение таргетов в Package.swift:

    ![](https://blog.jetbrains.com/wp-content/uploads/2020/08/3.png)

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

Мы постоянно работаем над улучшением быстродействия IDE — к примеру, в прошлом релизе получилось ускорить повторное открытие проектов. В версии 2020.2 мы закончили большой кусок работы, переработав механизм индексации. В результате IDE должна стать в целом отзывчивее, а подвисания при открытии проекта или его перезагрузке (например, во время переключений бранчей) должны исчезнуть.

Change Signature

Изменение сигнатуры метода — частая операция. Обычно ее приходится делать с помощью нескольких последовательных рефакторингов переименования, после чего часть работы в любом случае придется делать руками (поменять область видимость, вручную переставить параметры местами и так далее). Теперь AppCode может выполнить все эти действия за один раз — достаточно вызвать рефакторинг Change Signature (⌘F6) на любом использовании метода. Если этот метод был перегружен, можно выбрать, необходимо ли выполнить рефакторинг на базовом методе и перегруженных или только на самом перегруженном методе:

В открывшемся диалоге можно переименовать метод, изменить внутренние и внешние имена параметров, а также добавить новые или удалить существующие параметры. При добавлении параметра можно выставить значение по умолчанию, а затем с помощью чекбокса Optional либо оставить значение в сигнатуре метода, либо вставить его во все вызовы метода:

Самое простое применение — просто поменять местами пару параметров (⌥↑/⌥↓):

Автодополнение

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

  • Автодополнение для get, set, didSet, и willSet теперь автоматически ставит курсор внутри тела выражения:

    ![](https://blog.jetbrains.com/wp-content/uploads/2020/08/7.gif)

  • В режиме Smart теперь показываются конструкторы:

    ![](https://blog.jetbrains.com/wp-content/uploads/2020/08/8.gif)

  • Заработало такое же, как в Objective-C, автодополнение имен шрифтов:

    ![](https://blog.jetbrains.com/wp-content/uploads/2020/08/9.png)

  • Trailing closures стали отображаться в списке автодополнения при наборе {:

    ![](https://blog.jetbrains.com/wp-content/uploads/2020/08/10.png)

Инспекции

На смену старому индикатору инспекций пришел новый доработанный виджет, который отображает количество ошибок и предупреждений в текущем файле и позволяет между ними переключаться. По клику на него открывается окно Problems, отображающее все ошибки и предупреждения в текущем файле списком:

Также в нем можно изменить текущий уровень подсветки файла с помощью выпадающего списка Highlight…

Пулл-реквесты GitHub

Как и все IDE от JetBrains, AppCode получил полную поддержку пулл-реквестов GitHub, которая включает в себя следующие возможности:

  • Отображение всей информации по пулл-реквесту (название, автор, переписка и др.) в отдельном окне
  • Полная интеграция работы с ревью: теперь можно прямо из IDE начать или запросить ревью своих изменений, оставить комментарий или отправить изменения на ревью.
  • Merge прямо из IDE.

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

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

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

Подписаться

Подпишитесь на новости о продуктах