Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.

Swift Initializer Generator

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



  1. On OS X 10.11 El Capitan, run the following command and restart your Mac:

     sudo /usr/libexec/xpccachectl
  2. Open SwiftInitializerGenerator.xcodeproj

  3. Enable target signing for both the Application and the Source Code Extension using your own developer ID

  4. Product > Archive

  5. Right click archive > Show in Finder

  6. Right click archive > Show Package Contents

  7. Drag Swift Initializer to your Applications folder

  8. Run Swift Initializer and exit again.

  9. Go to System Preferences -> Extensions -> Xcode Source Editor and enable the extension

  10. The menu-item should now be available from Xcode's Editor menu.

Known limitations

It will only parse attributes defined like (open|public|fileprivate|private|internal) [weak] (var|let) NAME: TYPE.

You can’t perform that action at this time.