I do a fair amount of iOS development using Xcode, so I thought I would share my current Xcode setup. The plugins I use significantly improve my productivity, and the color schemes make it more enjoyable to stare at a screen for hours on end.
Alcatraz is a must. As per their website:
Alcatraz is an open-source package manager for Xcode. It lets you discover and install plugins, templates and color schemes without the need for manually cloning or copying files. It installs itself as a part of Xcode and it feels like home.
It truly lives up to their claim. I install all my Xcode add-ons through Alcatraz and it's unbelievably simple.
To install, just type this in your shell:
curl -fsSL https://raw.github.com/supermarin/Alcatraz/master/Scripts/install.sh | sh
Restart Xcode and you should have a Package Manager menu option under Window (also available via Shift+Command+9).
If I could only choose to install one plugin, it would definitely be XVim. Vim keybindings are the single greatest productivity enhancer in any text editor/IDE. Moving your hands from the keyboard slow you down more than you know.
While the Vim emulation isn't perfect, and it doesn't have all the features that Vim itself has, it's much better than the default (non-modal) editing.
Installing Fuzzy Autocomplete will give you much better autocomplete. A picture's worth a thousand words, right? (What does that make a gif worth?)
XToDo lists all instances of
FIXME you leave in comments. This is much cleaner than searching for instances of text throughout your code.
Vale Color Theme
Xcode wouldn't be complete without a custom color theme. The default (dark on light) theme is sure to burn your eyes out, and most of the pre-packaged themes get boring after a while.
Using Alcatraz, I installed several others, but my favorite so far has got to be Vale:
Fortunately the plugin system allows developers to overcome some (certainly not all) of the pitfalls of using Xcode. It would be nice to see newer versions include standard features of other fully-fledged IDEs—such as proper refactoring and code formatting.