XCode Plugin Management with Alcatraz

XCode is a powerful IDE within OS X. It has nice interface builder as well as intelligent compiler. However, it sucks at many other handful tasks, like most users will find its auto-complete is stupid, while Objective-C or even Swift are likely to have very long function name.


However, it supports plugin! That’s how people are improving XCode everyday by using plugin. There’re many already built plugins out there, mostly open source. But, sad news, installing and activating a plugin within XCode requires you to do a few complicated steps.

First, you have to search for the plugin you want to install. Here I want to have KSImageNamed to be installed. I check out the source code, then open using XCode and build the project. After building has been completed, I need to relaunch XCode and the plugin is activated. Next time I want to update the plugin, I have to get the source and rebuild again.

Of course, you should be lucky if someone have already built it for you. All you have to do is place the plugin inside XCode plugin directory:

~/Library/Application Support/Developer/Shared/Xcode/Plug-ins


Alcatraz is a plugin too. However it provides the functionality of a XCode plugin management, which help you to discover and install plugins, color schemes and templates for code fragments.

XCode_AlcatrazInstalling Alcatraz is simple, just go to your Terminal and enter the following:

curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/deploy/Scripts/install.sh | sh  

Then restart your XCode and Alcatraz will be available through Windows -> Package Manager menu of XCode

Useful Plugins

Below are several useful plugins which I found to be very handy within XCode:

Fuzzy Autocomplete

Like the fuzzy search in the Open Quickly (⌘ + Shift + O) dialog? Bring the same fuzzy search to variable auto completion:



Make your debugging sessions more pleasant with this plugin that auto hides the debugger as soon as you start typing:



See the actual image while typing [UIImage imageNamed:]. Magical!



See localisations of a string as you type NSLocalizedString:



Have an enum, and want to write a switch statement with all enum values? Type the variable, and the plugin generates all the cases: