Swift Initializer Generator
View on Github
suggest edit
Github stars icon

718

Github forks icon

36

Github watchers icon

10

Last commit: almost 4 years ago

Open issues: 7

License: MIT

Last update: 4 months ago

Swift Initializer Generator Overview

An Xcode Source Editor Extension that will generate a Swift initialiser based on the properties you've selected. You start by highlighting the Swift stored properties from your struct or class that should be included in the initialiser and then select the menu option or use the keyboard shortcut. Swift Initializer Generator will then insert an initialiser that assigns values to the selected properties. This can be really useful if you've made a struct public and now have to provide the initialiser yourself, especially if you have a lot of properties.

Swift Initializer Generator latest README

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.

Usage

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
    }
}

Demo

Installation

  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 Generator.app to your Applications folder

  8. Run Swift Initializer Generator.app 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.

%>