As a Mac and iOS developer, web designer, Unix lover and all around coder, Kapeli’s Dash has become an indispensable part of my workflow. Version 3 of the reference tool was released recently, and it continues to be a tool I’d be lost without.
What’s Dash?
If you’re not familiar with Dash, I’ll recap for a moment.
Dash puts dozens of syntax and code references for just about every programming language (and even third-party libraries) at your fingertips. With the stroke of a hotkey, you have all of your vital documentation at your disposal in a popup window, and you can immediately start typing the name of a function or class to drill down to exactly the information you need. You can even add bookmarks for anything you want to come back to in the future or access frequently.
You can create custom groups of documentation sets as well. For example, I have one set for OS X coding (with Objective-C, Swift, and Xcode documentation), one for web coding (HTML, CSS, JavaScript, Angular, jQuery, etc.), and one for Ruby and CLI scripting (including gem-specific documentation). These can be triggered with keywords in the search field, or selected automatically based on the foreground application.
Dash also features snippets, allowing you to store commonly-used bits of code and assign TextExpander-style abbreviations to them. You can include placeholders as well, so after a snippet is inserted, the cursor is placed wherever you need it and what you type can be mirrored in multiple placeholders.
Additionally, Dash allows users to easily create their own cheat sheets, and download cheat sheets created by others. Right off the bat you can install sets for tools such as Vim, Bash, tmux, Xcode, and more.
Dash is available anywhere on your system, and can integrate directly with just about any Mac coding platform using the plugins available for Xcode, Vim, TextMate, Sublime Text and more.
What’s new?
Ok. So what’s new in Dash 3?
The latest version of Dash includes several very cool enhancements. I’ll start by mentioning one of the niftiest (in my opinion): iOS Remotes.
iOS Remotes
Dash for OS X can now display documentation on your iOS device running Dash for iOS. This lets you keep your iPad or iPhone next to your screen and load documentation on it, functioning as an external display that you can easily control with the same shortcuts you already use for Dash. With a tool like the Mountie, this becomes an excellent solution for working on a MacBook with limited screen real estate.
The iOS integration also includes clipboard sync, so when you copy something in Dash for iOS it’s ready to use in OS X. iOS Remotes also integrate with the OS X plugins, so you can start a search from your desktop IDE directly on the iOS device.
Annotations
The latest version also includes a feature called “Annotations,” which does exactly what you think. You can add your own notes (Markdown supported) to any documentation page with comments, sample code, or even warnings and bug reports.
These attached notes are stored in the cloud, and can be public or private. “Teams” can be set up for sharing annotations with groups. The tool used for storage is also open-source, so you can run your own Annotations sever if you have any privacy concerns.
Settings Sync and Saved Tabs
If you work on multiple machines, you can also benefit from the new synced settings, which can keep your docsets, search profiles, and bookmarks uniform across all of your workstations.
Previous versions of Dash allowed tabs so you could flip between located references easily. Version 3 now stores opened tabs so that next time you load Dash, you can return to the same set of references.
Archived Docsets
The references that Dash stores for each language can be significant in size, so the newest version can archive and compress these to reduce their size by up to 90%, then unarchive them as they’re needed for display and search.
There’s even more to see, and you can grab a free trial to check it out. You’ll want to grab Dash for iOS, too, if you want to make use of the iOS Remotes feature. Dash 3 is a paid upgrade, and until August 15th it can be had for $9.99 US. If you code in any language, and especially if you work in multiple languages, I highly recommend checking it out.