КПДВ — это Change Signature, уже пятый рефакторинг для Swift. Обо всем остальном в новом AppCode 2020.2 — под катом.
Поддержка Swift Package Manager
Мы сделали начальную поддержку SPM-зависимостей в проектах для Xcode, а именно:
- Отображение зависимостей в окне проекта:
- Автодополнение, подсветку и навигацию для них, плюс некоторые специфичные для SPM-зависимостей возможности, такие как автодополнение таргетов в Package.swift:
Быстродействие
Мы постоянно работаем над улучшением быстродействия IDE — к примеру, в прошлом релизе получилось ускорить повторное открытие проектов. В версии 2020.2 мы закончили большой кусок работы, переработав механизм индексации. В результате IDE должна стать в целом отзывчивее, а подвисания при открытии проекта или его перезагрузке (например, во время переключений бранчей) должны исчезнуть.
Change Signature
Изменение сигнатуры метода — частая операция. Обычно ее приходится делать с помощью нескольких последовательных рефакторингов переименования, после чего часть работы в любом случае придется делать руками (поменять область видимость, вручную переставить параметры местами и так далее). Теперь AppCode может выполнить все эти действия за один раз — достаточно вызвать рефакторинг Change Signature (?F6
) на любом использовании метода. Если этот метод был перегружен, можно выбрать, необходимо ли выполнить рефакторинг на базовом методе и перегруженных или только на самом перегруженном методе:
В открывшемся диалоге можно переименовать метод, изменить внутренние и внешние имена параметров, а также добавить новые или удалить существующие параметры. При добавлении параметра можно выставить значение по умолчанию, а затем с помощью чекбокса Optional либо оставить значение в сигнатуре метода, либо вставить его во все вызовы метода:
Самое простое применение — просто поменять местами пару параметров (?^
/?v
):
Автодополнение
Одно из самых интересных изменений — это использование SourceKit в автодополнении. В прошлом релизе мы начали использовать его во время индексации, с этого релиза начинаем использовать и после нее, добавляя результаты SourceKit к результатам AppCode. В целом, это должно сделать автодополнение более корректным. Кроме этого, есть пачка небольших, но полезных улучшений:
- Автодополнение для
get
,set
,didSet
, иwillSet
теперь автоматически ставит курсор внутри тела выражения:
- В режиме Smart теперь показываются конструкторы:
- Заработало такое же, как в Objective-C, автодополнение имен шрифтов:
- Trailing closures стали отображаться в списке автодополнения при наборе
{
:
Инспекции
На смену старому индикатору инспекций пришел новый доработанный виджет, который отображает количество ошибок и предупреждений в текущем файле и позволяет между ними переключаться. По клику на него открывается окно Problems, отображающее все ошибки и предупреждения в текущем файле списком:
Также в нем можно изменить текущий уровень подсветки файла с помощью выпадающего списка Highlight...
Пулл-реквесты GitHub
Как и все IDE от JetBrains, AppCode получил полную поддержку пулл-реквестов GitHub, которая включает в себя следующие возможности:
- Отображение всей информации по пулл-реквесту (название, автор, переписка и др.) в отдельном окне
- Полная интеграция работы с ревью: теперь можно прямо из IDE начать или запросить ревью своих изменений, оставить комментарий или отправить изменения на ревью.
- Merge прямо из IDE.
На этом всё! Все вопросы и пожелания пишите прямо тут в комментариях — будем рады ответить!
Команда AppCode