wangjiejacques / Codegenerator
Stars: ✭ 70
Programming Languages
swift
15916 projects
Labels
Projects that are alternatives of or similar to Codegenerator
Pragmatic
⚙An Xcode Source Editor extension for simplifying common pragma driven tasks
Stars: ✭ 24 (-65.71%)
Mutual labels: xcode-extension
marker-extension
Sample project demonstrating use of an Xcode Source Editor Extension to format Swift code
Stars: ✭ 19 (-72.86%)
Mutual labels: xcode-extension
Swiftinitializergenerator
Xcode Source Code Extension to Generate Swift Initializers
Stars: ✭ 718 (+925.71%)
Mutual labels: xcode-extension
XShared
Xcode extension that allows you copying the code with special formatting quotes for social (Slack, Telegram)
Stars: ✭ 75 (+7.14%)
Mutual labels: xcode-extension
ViewGenerator
⚒ ViewGenerator generates view code from variable name automatically in iOS development
Stars: ✭ 75 (+7.14%)
Mutual labels: xcode-extension
Xalign
An amazing Xcode Source Editor extension to align regular code. It can align Xnything in any way you want.
Stars: ✭ 2,898 (+4040%)
Mutual labels: xcode-extension
Linessorter Xcode Extension
Xcode Extension that helps you keep your import statements and long code lists organized and uniform
Stars: ✭ 54 (-22.86%)
Mutual labels: xcode-extension
AMEGetterMaker
A lazyload getter maker without resign for Xcode
Stars: ✭ 42 (-40%)
Mutual labels: xcode-extension
Swiftmockgeneratorforxcode
An Xcode extension (plugin) to generate Swift test doubles automatically.
Stars: ✭ 522 (+645.71%)
Mutual labels: xcode-extension
qvcodefriend.github.io
Develop Xcode Extensions with JavaScript
Stars: ✭ 19 (-72.86%)
Mutual labels: xcode-extension
sample-generator
Xcode Source Editor Extension to generate Swift model samples
Stars: ✭ 19 (-72.86%)
Mutual labels: xcode-extension
Swiftai
SwiftAI, write Swift code smart. SwiftAI can generate Model class from JSON now. Codable and HandyJSON is supported. More features will be add.
Stars: ✭ 470 (+571.43%)
Mutual labels: xcode-extension
AutoImport
AutoImport for XCode, replace Peckham.
Stars: ✭ 82 (+17.14%)
Mutual labels: xcode-extension
Import
Xcode extension for adding imports from anywhere in the code ☝️
Stars: ✭ 818 (+1068.57%)
Mutual labels: xcode-extension
TrickerX
An Xcode9+ Extension which make CodingKeys automatically.
Stars: ✭ 90 (+28.57%)
Mutual labels: xcode-extension
GitBlamePR
Mac app that shows pull request last modified each line of a file, Written in SwiftUI
Stars: ✭ 24 (-65.71%)
Mutual labels: xcode-extension
Codegenerator
A Xcode plugin for generate Objectice-C code.
Stars: ✭ 63 (-10%)
Mutual labels: xcode-extension
Xcodeextensionsample
Various sample commands to implement Xcode Source Editor Extension
Stars: ✭ 47 (-32.86%)
Mutual labels: xcode-extension
Playalways
Create Xcode playgrounds from your menu bar
Stars: ✭ 515 (+635.71%)
Mutual labels: xcode-extension
Installation
- Clone or download the repo
- Open
CodeGenerator.xcodeproj
- Enable target signing for both the Application and the Source Code Extension using your own developer ID
- Select the application target and then Product > Archive
- Export the archive as a macOS App
- Run the app, then quit (Don't delete the app, put it in a convenient folder)
- Go to System Preferences -> Extensions -> Xcode Source Editor and enable the CodeGenerator extension
- The menu-item should now be available from Xcode's Editor menu
Uninstallation
- Remove the App, restart Xcode.
CodeGenerator
CodeGenerator is a Xcode extension for swift code generation.
Generating mock
Example:
protocol Pokemon {
var height: Double! { get set }
var canEvolve: Bool! { get }
func eat(food: String)
func drink(_ water: String)
func isFlying() -> Bool
func evolve(successHandler: @escaping (String) -> Void, failureHandler: (String?) -> String?)
}
class PokemonMock: Pokemon {
var height: Double!
var canEvolve: Bool!
var eatFood: String?
var drinkWater: String?
var evolveShouldCallSuccessHandler = true
var evolveSuccessHandlerParam0: String!
var evolveShouldCallFailureHandler = true
var evolveFailureHandlerParam0: String!
var evolveFailureHandlerDidReturn: String?
var eatFoodWasCalled: Bool?
var drinkWasCalled: Bool?
var isFlyingWasCalled: Bool?
var evolveSuccessHandlerWasCalled: Bool?
var isFlyingShouldReturn: Bool!
func eat(food: String) {
eatFood = food
eatFoodWasCalled = true
}
func drink(_ water: String) {
drinkWater = water
drinkWasCalled = true
}
func isFlying() -> Bool {
isFlyingWasCalled = true
return isFlyingShouldReturn
}
func evolve(successHandler: @escaping (String) -> Void, failureHandler: (String?) -> String?) {
if evolveShouldCallSuccessHandler {
successHandler(evolveSuccessHandlerParam0)
}
if evolveShouldCallFailureHandler {
evolveFailureHandlerDidReturn = failureHandler(evolveFailureHandlerParam0)
}
evolveSuccessHandlerWasCalled = true
}
}
Generating Equatable
Example:
class EquatableClazz {
var var0: Int!
let var1: String
var var2: Bool?
}
extension EquatableClazz: Equatable {
static func ==(lhs: EquatableClazz, rhs: EquatableClazz) -> Bool {
return lhs.var0 == rhs.var0 && lhs.var1 == rhs.var1 && lhs.var2 == rhs.var2
}
}
if you don't want to use all the vars for the Equatable, just select the vars you want and click Generate... -> Equatable
Generating Hashable
Example:
class EquatableClazz {
var var0: Int!
let var1: String
var var2: Bool?
}
extension EquatableClazz: Hashable {
static func ==(lhs: EquatableClazz, rhs: EquatableClazz) -> Bool {
return lhs.var0 == rhs.var0 && lhs.var1 == rhs.var1 && lhs.var2 == rhs.var2
}
var hashValue: Int {
var hashValue = 1
let hashableVars: [AnyHashable?] = [var0, var1, var2]
hashableVars.forEach {
hashValue = 31 * hashValue + ($0?.hashValue ?? 0)
}
return hashValue
}
}
Generating Init
Example:
class EquatableClazz {
var var0: Int!
let var1: String
var var2: Bool?
init(var0: Int?, var1: String, var2: Bool?) {
self.var0 = var0
self.var1 = var1
self.var2 = var2
}
}
Generating NSCoding
Example:
class EquatableClazz {
var var0: Int
let var1: String
var var2: Bool?
required init?(coder aDecoder: NSCoder) {
guard let var1 = aDecoder.decodeObject(forKey: "var1") as? String else { return nil }
var0 = aDecoder.decodeInteger(forKey: "var0")
self.var1 = var1
if aDecoder.containsValue(forKey: "var2") {
var2 = aDecoder.decodeBool(forKey: "var2")
}
}
func encode(with aCoder: NSCoder) {
aCoder.encode(var0, forKey: "var0")
aCoder.encode(var1, forKey: "var1")
aCoder.encode(var2, forKey: "var2")
}
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].