This Xcode 8 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
}
}- 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
- Open Products, Applications
- Drag
Swift Initializer Generator.appto your Applications folder - Run
Swift Initializer Generator.appand 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.
