Snowonder - ๐Ÿ”ฎ Magical import declarations formatter for Xcode

Overview

Header

Snowonder is Xcode Extension that adds some convenient formatting operations for Import Declarations. This extension is created with latest stable Swift release and fully open source. Snowonder is based on official Apple's XcodeKit which supports only Xcode of versions 8 and higher. If you're looking for a Snowonder that is compatible with Xcode 7.3 version please check legacy branch.

Important! ๐ŸŒŸ If you've experienced some trouble using Snowonder, please submit an issue with a description. This is the simpliest way to make the project better.

Build Status

Features

  • Adding Import Declarations from anywhere in code
  • Import Declarations categorization
  • Alphabetical sorting of Import Declarations in scope of category
  • Duplicated Import Declarations filtering
  • Both Swift and Objective-C programming languages support
  • Load config from JSON. Implemented in config branch, but stopped working after Xcode 10 release. Check #27
  • Command Line Interface (CLI)

Installation

  1. Clone this repo and build Snowonder target via Xcode to get the app
  2. Close Xcode if it's currently running
  3. Put Snowonder.app into Applications folder and run it
  4. Click Enable Extension button
  5. Enable Snowonder in opened window. See screenshot below Enables
  6. Launch Xcode and check if Editor > Snowonder Extension is available

Usage

After installation you will be able to format import declarations on any file by selecting Editor > Snowonder Extension > Format Import Declarations or you can just simply setup shoutcut for this command.

Updating

To update Snowonder just replace the old Snowonder.app with updated verson.

Uninstallation

To uninstall just put Snowonder.app into Trash.

License

Released under the MIT License. See LICENSE.md.

You might also like...
Comment-Spell-Checker - Xcode extension for spell checking and auto-correcting code comments.
Comment-Spell-Checker - Xcode extension for spell checking and auto-correcting code comments.

Comment Spell Checker An Xcode Source Editor extension that runs spell check and auto correct on your code comments. Features Supports mutliple commen

Nef-plugin - ๐Ÿ”Œ an Xcode extension to use nef features easily
Nef-plugin - ๐Ÿ”Œ an Xcode extension to use nef features easily

This project provides an extension for Xcode to integrate some nef features directly in the IDE. Using the core of nef, you can export snippets from y

Xcode plugin to let you jump to GitHub History, Blame, PRs, Issues, Notifications of any GitHub repo with one shortcut.
Xcode plugin to let you jump to GitHub History, Blame, PRs, Issues, Notifications of any GitHub repo with one shortcut.

Reveal-In-GitHub Xcode plugin to let you jump to GitHub History, Blame, PRs, Issues, Notifications of current repo in one second. My company work on G

Plugin for Xcode to integrate the Reveal App to your project automatic.
Plugin for Xcode to integrate the Reveal App to your project automatic.

Reveal-Plugin-for-Xcode Plugin for Xcode to integrate the Reveal App to your project automatic(Without any modifications to your project). Please note

Xcode plugin which help you write code faster.
Xcode plugin which help you write code faster.

MLAutoReplace Xcode plugin, Re-Intent, make you write code more quickly. Use a portion code of VVDocumenter-Xcode. ##Overview You can use shortcut key

Multiliner - An Xcode source extension to expand lengthy lines
Multiliner - An Xcode source extension to expand lengthy lines

Multiliner An Xcode source extension to expand lengthy lines. Super lightweight, 1 file. It expands long lines. That's it! Works with: Initializers Fu

Date Formatter Pool - is a small utility that creates and stores your Date Formatter for simpler reuse
Date Formatter Pool - is a small utility that creates and stores your Date Formatter for simpler reuse

Date Formatter Pool Date Formatter Pool - is a small utility that creates and stores your Date Formatter for simpler reuse Installation is available i

Magical Data Modeling Framework for JSON - allows rapid creation of smart data models. You can use it in your iOS, macOS, watchOS and tvOS apps.

JSONModel - Magical Data Modeling Framework for JSON JSONModel allows rapid creation of smart data models. You can use it in your iOS, macOS, watchOS

Magical Data Modeling Framework for JSON - allows rapid creation of smart data models. You can use it in your iOS, macOS, watchOS and tvOS apps.

JSONModel - Magical Data Modeling Framework for JSON JSONModel allows rapid creation of smart data models. You can use it in your iOS, macOS, watchOS

Import - Xcode extension for adding imports from anywhere in the code โ˜๏ธ
Import - Xcode extension for adding imports from anywhere in the code โ˜๏ธ

Import โ˜๏ธ Xcode extension for adding imports from anywhere in the code. Now available on App Store Why? Because sometimes you are on 300th line of cod

An Xcode formatter plug-in to format your swift code.
An Xcode formatter plug-in to format your swift code.

Swimat Swimat is an Xcode plug-in to format your Swift code. Preview Installation There are three way to install. Install via homebrew-cask # Homebrew

A library that provides the ability to import/export Realm files from a variety of data container formats.

Realm Converter Realm Converter is an open source software utility framework to make it easier to get data both in and out of Realm. It has been built

Sort import statements in your Swift source code
Sort import statements in your Swift source code

Sort Swift Imports Sort import statements in your Swift source code. ๐Ÿ› Swift Li

Small utility to import PDF slides as vector images into Keynote for iOS.
Small utility to import PDF slides as vector images into Keynote for iOS.

Small utility to import PDF files into Keynote for iOS. This utility is especially helpful when presenting slideshows created by LaTeX

Import files into your Swift scripts!
Import files into your Swift scripts!

Swiftmix is a tool aimed to make better use of Swift scripts. Right now there is no decent way to import source files in scripts without using SPM. Sw

Aplikasi iReader adalah Aplikasi Pemindai Barcode dan Teks untuk iOS & MacOS dengan fitur Text Scanner via Kamera & Import Files.
Aplikasi iReader adalah Aplikasi Pemindai Barcode dan Teks untuk iOS & MacOS dengan fitur Text Scanner via Kamera & Import Files.

Aplikasi iReader adalah Aplikasi Pemindai Barcode dan Teks untuk iOS & MacOS dengan fitur Text Scanner via Kamera & Import Files. Aplikasi ini dibuat dengan SwiftUI, AVKit, dan VisionKit (On Device Machine Learning Processing).

A Swift Formatter Kit
A Swift Formatter Kit

Format A Swift formatter kit. Simple formatting syntax for decimal numbers, currency, mass, addresses, ordinal numbers and hexadecimal colors. Usage I

Currency text field formatter available for UIKit and SwiftUI ๐Ÿ’ถโœ๏ธ
Currency text field formatter available for UIKit and SwiftUI ๐Ÿ’ถโœ๏ธ

CurrencyText provides lightweight libraries for formating text field text as currency, available for both UIKit and SwiftUI. Its main core, the Curren

๐Ÿชž Formatter JSON delightfully.

SwiftJSONFormatter ๐Ÿชž Formatter JSON delightfully. Highlights Beautify and minify JSON strings. Keep dictionary key order stable. Work with invalid JS

Comments
  • Bulk update

    Bulk update

    hi! thanks for a tool, I looked a replacement for format tools since 3rd party plugins were removed from Xcode.

    but the question is there a chance to make it able to process all project files and format every .h/.m file at once?

    thanks!

    opened by slxl 1
  • Release 1.0.0 based on XcodeKit

    Release 1.0.0 based on XcodeKit

    First major release of Snowonder based on Xcode extensions system.

    Functionality to release:

    1. Categorize import declarations.
    2. Sort import declarations in scope of category.
    3. Swift and Objective-C support.
    4. Extension enabling from Snowonder macOS app.
    enhancement 
    opened by Karetski 1
  • Load JSON config implementation issue

    Load JSON config implementation issue

    When config loading was already implemented, after release of Xcode 10 the following issue was found while trying to work with UserDefaults:

    2018-10-13 18:51:04.961675+0300 Snowonder Extension[12763:112194] [User Defaults] Couldn't read values in CFPrefsPlistSource<0x7fd11be0a2a0> (Domain: group.com.Karetski.Snowonder, User: kCFPreferencesAnyUser, ByHost: Yes, Container: (null), Contents Need Refresh: Yes): Using kCFPreferencesAnyUser with a container is only allowed for System Containers, detaching from cfprefsd
    Program ended with exit code: 9
    

    Unable to resolve this issue at the moment so feature release is blocked.

    help wanted blocked 
    opened by Karetski 0
Releases(2.0.0-rc)
Owner
Alexey Karetski
Senior Software Engineer. Designer. 25 years old. Use both UIKit and SwiftUI in production (millons of users).
Alexey Karetski
XTextHandler - Xcode Source Editor Extension Tools (Xcode 8 Plugins)

Download Let's Swift! xTextHandler has been rewritten in Swift. The Objective-C version can be found in: https://github.com/cyanzhong/xTextHandler-obj

Ying Zhong (Inactive) 1.5k Sep 7, 2022
This Xcode plugin shows Xcode app version in the Dock and App Switcher icon

Xcode Icon Version Tired of this Xcode icon always showing multiple times in your App Switch with no help watshoever as to which version you are curre

Stanislas Chevallier 94 Sep 11, 2022
CleanClosureXcode - An Xcode Source Editor extension to clean the closure syntax.

Clean Closure - Xcode Source Editor Extension Clean Closure is a simple Xcode Source Editor Extension for Xcode 8. It parses each line of a file to si

Patrick Balestra 188 Jun 18, 2022
SwiftInitializerGenerator - Xcode Source Code Extension to Generate Swift Initializers

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

Bouke Haarsma 718 Aug 21, 2022
XcodeEquatableGenerator - Xcode 8 Source Code Extension will generate conformance to Swift Equatable protocol based on type and fields selection.

Depricated! There is not need for it at the moment as Swift compiler can do that for us ?? Swift Equatable Generator Xcode 8 Source Code Extension wil

null 191 Dec 10, 2022
Mark - Xcode extension for generating MARK comments.

Mark Xcode extension for automatic generation of MARK comments. Why? If you would like to organize your code with MARK comments, this will save you so

Velislava Yanchina 160 Dec 17, 2022
XShared - Xcode extension that allows you copying the code with special formatting quotes for social (Slack, Telegram)

This extension is for those who like to show code to the public ?? Xcode extension which allows you copying the code with special formatting quotes fo

Nikita Ermolenko 75 Jun 18, 2022
Xgist - Xcode extension to send code to GitHub's Gist

Xgist Xgist is a Xcode extension to send code to GitHub's Gist. The extension will send your code selection to Gist and automatically copy the Gist UR

Fernando Bunn 76 Jul 2, 2022
DocumenterXcode - Attempt to give a new life for VVDocumenter-Xcode as source editor extension.

DocumenterXcode Xcode source editor extension which helps you write documentation comment easier, for both Objective-C and Swift. This project is an a

Serhii Londar 34 Dec 17, 2022
XVim2 - Vim key-bindings for Xcode 9

XVim2 XVim2 is a Vim plugin for Xcode intending to offer a compelling Vim experience without the need to give up any Xcode features. Xcode 9 or above,

null 2.3k Jan 1, 2023