DBSmartPanels
Update 9/25/2016
As of Xcode 8, third party plugins of this nature are no longer supported. This plugin will no longer be updated, unless/until Apple opens up support for it again. Discussion around this can be found here: alcatraz/Alcatraz#475
About
DBSmartPanels is a panel manager plugin for Xcode 6 and 7 which optimizes screen real estate by making common sense decisions on handling what's displayed in the editor window based on what you're currently doing. The point of this plugin is to get everything out of the way so you can focus only on what you need for the task at hand.
There are currently 3 events with which the plugin is concerned, with multiple behavior tweaks for each:
- When you begin typing in a text document...
- Hide debug area: hides the bottom panel
- Hide navigator area: hides the left-hand panel
- Hide utilities area: hides the right-hand panel
- When you open a text document...
- Restore editor mode: if applicable, switches you back to whichever editor mode you were in (Standard, Assistant, or Version Editor) before you opened an interface file
- Restore debug area state: if applicable, un-hides the debug area if it was visible before you opened an interface file
- Hide navigator area: hides the left-hand panel
- Hide utilities area: hides the right-hand panel
- When you open an interface file... (XIB or Storyboard)
- Switch to standard editor: the Assistant Editor takes up valuable screen real estate and typically doesn't make sense for editing UI, so hide it
- Hide debug area: hides the bottom panel
- Hide navigator area: hides the left-hand panel
- Show utilities area: shows the right-hand panel, since you generally tweak values in here when dealing with UI elements
Configuration
Since one size does not necessarily fit all, the plugin installs a new "Smart Panels..." option in the Xcode menu, from which you can choose your preferred level of auto-hiding or even tweak each individual setting to whatever works best for you:
For a truly focused experience, choose Aggressive auto-hiding, which will auto-hide all panels including the left-hand navigator area to let you focus entirely on your code. This can take some getting used to, but it may prove helpful on smaller screens.
Installation
The easiest way to install is via Alcatraz. Once installed, restart Xcode.
Alternatively, you can install manually by following these steps:
- Clone this repository.
- Open and run the project.
- Restart Xcode.
Feedback
Everybody has a different workflow in Xcode. If you run into problems with this plugin, please let me know; I'll be happy to take a look to see if I can make it work better for you. Alternatively, if you have ideas on how to improve the plugin, that feedback is welcome as well. You can email me at davidblundelldev at Gmail.
Thanks
I'd like to give a HUGE thanks to the folks behind Alcatraz, an amazing plugin manager for Xcode, and all the plugin developers who have made my daily development work easier and less frustrating.
More specifically however, I'd like to thank Boris Bügling, whose instructional video taught me how to write plugins, and whose BBUDebuggerTuckAway plugin I used as a starting-off point for this project.
If you're interested in writing your own plugins, see this blog post for more info, including the aforementioned videos from Boris.
Happy coding!