How do I refactor Swift in Xcode?
Is there a way to refactor swift in Xcode 7.1?
When I try to rename a variable (e.g. highlight, right-click, refactor > rename), Xcode pops up an error dialog saying:
Can't refactor Swift code. Xcode can only refactor C and Objective-C code.
Is there a workaround for this?
Solution 1:
AFAIK the refactoring is not working with Swift right now, however, at least in the same file(scope), you can do the following:
Solution 2:
Xcode 9 - 10
Xcode 9 now supports refactoring in Swift. This was announced in WWDC 2017.
Solution 3:
The lack of refactoring is astounding (especially as I am coming off of a major stint using VS) However I have just noticed that someone has done something about it. On GitHub there is Refactorator Xcode Plugin (MIT license) which claims:
Refactorator is an Xcode plugin for refactoring Swift & now Objective-C code. It will rename public or internal vars, functions, enums etc. For private and local entities use Xcode's existing "Edit All in Scope" functionality.
Full disclosure is that I have nothing to do with them and am just about to install the product myself.