Popularity
6.0
Stable
Activity
0.0
Stable
716
11
34

Code Quality Rank: L4
Programming language: Swift
License: MIT License
Tags: Plugins     Xcode    

SwiftInitializerGenerator alternatives and similar libraries

Based on the "Plugins" category.
Alternatively, view SwiftInitializerGenerator alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of SwiftInitializerGenerator or a related project?

Add another 'Plugins' Library

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](docs/demo.gif)

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.