Рефакторинг Xcode 9 (бета): переименование сломано

Ни один из инструментов рефакторинга у меня не работает в бета-версии XCode 9. Это верно даже для новых проектов, созданных с помощью бета-версии (как и в случае с тестовым проектом, снимок экрана ниже). Что дает?

Я нашел несколько демонстрации на YouTube, показывающие rename рефакторинг Xcode 9, но когда я нажимаю, скажем, на функции, name, все четыре варианта рефакторинга неактивны, включая «Переименовать…».

Сегодня я установил бета-версию 2 в надежде, что это решит проблему, но все же:

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

Есть ли какие-то настройки или что-то, что мне нужно изменить, чтобы включить рефакторинг?

Если нет, то как лучше всего решить эту проблему?


person clozach    schedule 29.06.2017    source источник


Ответы (3)


Вам следует проверить следующие параметры:

  1. Используйте Find Navigator, чтобы получить все ссылки на эту функцию и провести ее рефакторинг. (Это было бы немного сложно сделать, если проект большой)
  2. Проверьте совместимость проекта Xcode, Keep backup и попробуйте открыть его в более старой версии Xcode, затем выполните рефакторинг (хотя он может не компилироваться там, но позволит вам выполнить рефакторинг).
person NeverHopeless    schedule 30.06.2017
comment
Ваш №1 не отвечает ни на один вопрос. Что касается №2, я отредактировал свой вопрос, чтобы уточнить, что проблема, с которой я сталкиваюсь, возникает даже с совершенно новыми проектами, созданными с помощью последней бета-версии Xcode 9, поэтому это не может быть проблемой совместимости проекта. Очевидно, что на основе перечисленных мною ссылок YouTube другие могут использовать рефакторинг нового редактора, и моя цель - поэкспериментировать с новыми функциями. Так что я ищу здесь не обходные пути, а фактические исправления или, по крайней мере, полезные советы по устранению неполадок при моей бета-установке. - person clozach; 01.07.2017

Чувствовал себя слишком сытым, чтобы тщательно устранить проблему, но это удалось исправить, даже если я не могу точно сказать, была ли проблема в файле настроек с ошибкой или в поврежденном пакете Xcode.

  1. Перемещены все файлы файлов настроек, связанных с xcode, из ~/Library/Preferences во временную директорию

    • com.apple.dt.Instruments.plist
    • com.apple.dt.Xcode.Playground.plist
    • com.apple.dt.Xcode.plist
    • com.apple.dt.xcodebuild.plist
    • com.apple.preferences.extensions.XcodeSourceEditor.plist
  2. Удалил /Applications/Xcode-beta.app и установил заново из новой загрузки

И в новых, и в старых проектах рефакторинг снова работает, а не выделен серым цветом. Даже после перетаскивания перемещенных настроек на место все в порядке!

person clozach    schedule 04.07.2017

В первый раз, когда я открыл свой проект, я щелкнул имя переменной и нажал рефакторинг >> переименовать. Но потом блесна на нем ушла навсегда. Я удалил производные данные, но это тоже не сработало. Какая уловка заключалась в построении проекта. Не уверен, что это то же самое для вас. Также необходимо завершить индексацию, иначе это займет вечность.

person Honey    schedule 16.05.2018