Подтвердить что ты не робот

Как сделать рефакторинг быстрым в Xcode?

Есть ли способ рефакторинга swift в Xcode 7.1? Когда я пытаюсь переименовать переменную (например, выделить, щелкнуть правой кнопкой мыши, рефакторинг → переименовать), Xcode откроет диалоговое окно с сообщением "Невозможно реорганизовать Swift-код. Xcode может использовать только рефакторинг C и Objective-C". Есть ли обходной путь для этого?

4b9b3361

Ответ 1

AFAIK рефакторинг не работает с Swift прямо сейчас, однако, по крайней мере, в том же файле (область), вы можете сделать следующее: введите описание изображения здесь

Ответ 2

Xcode 9

Xcode 9 теперь поддерживает рефакторинг в Swift. Об этом было объявлено в WWDC 2017.

введите описание изображения здесь

Ответ 3

Отсутствие рефакторинга поразительно (особенно, поскольку я схожу с серьезного ограничения, используя VS). Однако я только что заметил, что кто-то что-то сделал с этим. На GitHub есть плагин Refactorator Xcode Plugin (лицензия MIT), который утверждает:

Refactorator - это плагин Xcode для рефакторинга Swift и теперь Objective-C код. Он переименует общедоступные или внутренние вары, функции, перечисления и т.д. Для частных и локальных объектов используйте Xcode existing "Edit All in Scope".

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

Ответ 4

Начиная с Xcode 7.2 beta инструменты рефакторинга не поддерживают Swift.

Я использую средство проверки типов. Измените имя/тип что-то, а затем исправьте все компиляции. Из-за сильной типизации у вас может быть больше уверенности в том, что этот подход поймает все. Я порой преднамеренно менял вещи и временно разбивал их, чтобы проверить, где используются или доступны объекты или типы.

Или используйте AppCode для рефакторинга, я слышал, что это хорошо, но я не очень пробовал себя.