Xcode Source Code Extension to Generate Swift Initializers
This Xcode Source Code Extension will generate a Swift initializer based on the lines you've selected. Handy if you made a struct public and now you have to provide the initializer implementation yourself.
Select the lines with the attributes that should be included in the initializer. See below; >
is the start of the selection and <
is the end of the selection.
struct MyStruct {
> public var a: String
public var b: Int<
}
Run the extension's "Generate Swift Initializer". Voila! The code above is modified to:
struct MyStruct {
public var a: String
public var b: Int
public init(a: String, b: Int) {
self.a = a
self.b = b
}
}
On OS X 10.11 El Capitan, run the following command and restart your Mac:
sudo /usr/libexec/xpccachectl
Open SwiftInitializerGenerator.xcodeproj
Enable target signing for both the Application and the Source Code Extension using your own developer ID
Product > Archive
Right click archive > Show in Finder
Right click archive > Show Package Contents
Drag Swift Initializer Generator.app
to your Applications folder
Run Swift Initializer Generator.app
and exit again.
Go to System Preferences -> Extensions -> Xcode Source Editor and enable the extension
The menu-item should now be available from Xcode's Editor menu.
It will only parse attributes defined like (open|public|fileprivate|private|internal) [weak] (var|let) NAME: TYPE
.