Рефакторинг Xcode 9 (бета)
Ни один из инструментов рефакторинга не работает для меня в бета-версии XCode 9. Это верно даже для новых проектов, созданных с помощью бета-версии (как и в тестовом проекте, скриншот ниже). Что дает?
Я нашел несколько демонстраций на YouTube, показывающих Xcode 9 rename
рефакторинг, но когда я нажимаю, например, на управление именем функции, четыре параметра рефакторинга становятся серыми, включая "Переименовать…".
Сегодня я установил бета 2 в надежде, что это решит проблему, но все же:
Есть ли какие-то настройки или что-то, что мне нужно изменить, чтобы включить рефакторинг?
Если нет, то как лучше всего это устранить?
3 ответа
Вы должны проверить следующие параметры:
- использование
Find Navigator
чтобы получить все ссылки на эту функцию и рефакторинг ее. (Было бы немного сложно сделать это, если проект имеет большой размер) - Проверьте совместимость проекта Xcode,
Keep backup
и попробуйте открыть его в более старой версии XCode, затем выполните рефакторинг (хотя он может не скомпилироваться там, но позволит вам выполнить рефакторинг).
В первый раз, когда я открыл свой проект, я щелкнул по имени переменной и нажал refactor >> rename. Но тогда блесна на это ушла навсегда. Я удалил свои производные данные, но это тоже не сработало. Что сделал трюк при создании проекта. Не уверен, что это то же самое для вас. Также необходимо завершить индексацию, иначе это заняло бы вечность.
Я чувствовал себя слишком сытым, чтобы тщательно разобраться с проблемой, но это удалось исправить, даже если я не могу точно сказать, был ли это файл с прерванными настройками или поврежденный пакет Xcode.
Перемещены все файлы настроек, связанные с 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
удаленный
/Applications/Xcode-beta.app
и переустановил из свежей загрузки
Как новые, так и старые проекты, похоже, снова работают рефакторингом, а не серым цветом. Даже после перетаскивания перемещенных предпочтений на место, все хорошо!