Review: BBEdit 9.02
Bare Bones Software BBEdit 9.02Macworld Rating
For the company’s 15th anniversary, Bare Bones Software has produced BBEdit 9, a major release to its venerable text editor that will thrill long-time users and will likely garner new converts. At the same time that the program makes several leaps ahead, however, it could still use some further tweaks, especially for cutting-edge Web developers.
Find it, change it
BBEdit 9 boasts more than 120 new features and fixes compared to BBEdit 8.5. Many of those are, of course, relatively minor. But several will be of interest to anyone who uses the program, from newbies to the oldest pros.
Find-and-replace is one of the most-used features in any text editor, and here BBEdit 9 breaks dramatically from its previous versions. In those older versions, the search dialog box was modal, meaning you had to dismiss the search dialog before continuing your work. In the new BBEdit, the search windows for both Find and Multi-File Search are modeless, meaning you can move freely back and forth between an open document and the search window, without closing the latter.
For some time now, BBEdit has had a Find All search that produced a two-paned results window: On top you’d see a list of the search hits; clicking on one of those hits displayed it in context in the bottom pane. In this version, that bottom pane’s text contents are fully editable; you no longer have to open separate editing windows. These editable text views also show up when you browse disks and check syntax. It’s convenient, saves time, and reduces window clutter.
The history of your search-and-replace operations is now preserved, even when you quit the program. And with Find Differences, it’s now possible to move edits character by character from one version of a file to another.
The new Scratchpad makes it easy to transform and edit text without opening a new document window. This is perfect for those situations when you want to copy and paste blocks of text, modify them a bit, and then paste the changed text back to a document. And BBEdit 9 adds a new Append Selection To Scratchpad command to Mac OS X’s Services menu, so you can send text to BBEdit’s Scratchpad from any program that supports Services. BBEdit automatically saves the contents of the Scratchpad, even between program launches.
Among other nice new features: Projects replace File Groups as a way of collecting related files. Project windows have an editing pane; to work on a file in the project, you can simply select it from the Project list and start editing, without having to open a separate window. BBEdit can now use your MobileMe account to synchronize its Application Support folder between machines, so your preferences, scripts, and clippings are available and updated on all your Macs. And if you’ve ever wanted to share your syntax-colored code (perhaps for instructional use), you can now do it by saving your document as an RTF file.
All these positive changes come at a price; old-school BBEdit users will need to retrain themselves, because keyboard equivalents and even expected behaviors have changed.
Hits and misses for coders
While many of BBEdit 9’s changes will be relevant to everyone, some will be of interest primarily to anyone who hand-codes HTML, CSS, PHP, and Ruby. For such Web heads, BBEdit 9 both delights and disappoints.
Thanks to BBEdit’s new text-completion feature, when you pause while typing or you invoke the feature with a keystroke, a context-sensitive list of possibilities will pop up; if you want to accept a suggestion, press tab or choose an option from the list. When you’re typing regular text, BBEdit draws its suggestions from the system’s spelling dictionary; the feature is less effective when you’re entering code, especially HTML.
For example, if you type
<d, the program suggests
div, among other correct choices. But if you accept the suggestion, the program will insert the invalid tag pair
<<div></div> (with incorrect opening double brackets). What’s puzzling is that other tools in the program, such as Tag Maker, sometimes offer smarter suggestions.
The new BBEdit also includes a small but terrific new feature that helps you preview your Web coding edits on different platforms. If you have VMware Fusion 2 installed, you can add Windows Web browsers to BBEdit’s Preview menu, making it a breeze to ensure that your site is working as expected under any installed Web browser.
It’s disappointing that BBEdit 9 hasn’t kept up with the changes in HTML and CSS supported by the latest browsers, and offers no extra help for coders looking to exploit their new features. For example, BBEdit doesn’t know about some valid CSS 2.1 colors or CSS 3’s text-shadow property.
Additionally, the new BBEdit does not support browser-specific extensions to CSS and Apple-specific extensions to HTML (all of which are used by sites such as Facebook and iPhone-specific pages). Even worse, it may overwrite valid code it doesn’t understand; in our opinion, that should never happen. While BBEdit does not claim to be a full-fledged Web development tool like Panic Software’s $99 Coda ( ), it’s not unreasonable to expect it to stay current with Web standards.
Macworld’s buying advice
If your text editing needs are relatively modest, BBEdit is still probably more program than you need; you should take a look at TextWrangler, BBEdit’s freeware sibling, instead. If you really do need the full power of BBEdit, this new version is a good, if pricey, choice. If you’ve been using any pre-8.5 version of BBEdit, BBEdit 9 is a worthy $30 upgrade. And if you already have BBEdit 8.5, take a look at the full feature list first to see if the enhancements are worth the upgrade price to you.
Between them, Tom Negrino and Dori Smith have 32 years of Macworld reviews experience. This is their first joint review.
Bare Bones Software BBEdit 9.02Macworld Rating
- Works with VMware Fusion for Windows browser previews
- Persistent Scratchpad
- Text completion
- Enhanced find/replace
- Text completion sometimes provides poor results
- No CSS syntax checking
- Incomplete support for CSS