Upcoming Events
Southwest Gaming Expo
11/20 - 11/22 @ Dallas, TX

Workshop on Network and Systems Support for Games (NetGames 2009)
11/23 - 11/25 @ Paris, France

ICIDS 2009 Interactive Storytelling
12/9 - 12/11 @ Guimarães, Portugal

Global Game Jam
1/29 - 1/31  

More events...


Quick Stats
7447 people currently visiting GDNet.
2341 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Link to us

Home » Features » Product Reviews » SlickEdit 2009
  Intel sponsors gamedev.net search:   

Product Reviews
Jump to:
Software
All product reviews

Product: SlickEdit 2009
Developer: SlickEdit Inc.
Reviewer: John Hattan
Posted: June 29, 2009
Rating:
Discuss this review

SlickEdit 2009
by John Hattan

Introduction

First off, this is not a full review of SlickEdit 2009. Mainly because I posted a full review of SlickEdit 2008 a scant year ago here, and SlickEdit isn't a program that rewrites itself with every version. I'll mainly be covering new features and their worth.

A $299 text editor is a tough sell nowadays, mainly because it's competing not only with high quality editors that are built into compiler IDEs, but it's also competing with a sea of general purpose text editors, many if not most of which are free. If you're going to pay for a text editor, it had better be able to solve some problems for you.

And SlickEdit can solve your text problems. If one of the millions of built-in features can't do it, then you can roll it yourself, and most likely easier than you could in a system not designed for text-processing (like C++). Whether your needs for text processing are complex enough to need something like SlickEdit to solve it is a question you'll need to ask yourself.

Pontificating aside, here's what's new

New sidebar-based file dialog


Figure 1: The new open-panel (click for a full-size version)

New to SlickEdit 2009 (but not other editors) is a sidebar panel to handle file operations. While this isn't anything revolutionary, it is fairly well thought-out. The "file name" field at the top does real-time filtering of contents as you type, so it's pretty easy to find a necessary file in a folder.

One oddity is that the "folders" panel (the lower one in the screenshot above) has its own "favorites" section, very similar to the one in the folder-view of Windows Explorer (XP and later). While it looks like the one in the standard Windows Explorer favorites menu, it's an entirely separate animal. If you have sidebar favorites in Windows Explorer (and also presumably Mac OS X Finder), they don't appear here. Whether you find that a useful feature because you want your editing favorites different from your OS favorites or you'd rather have 'em consolidated is up to you.

Importing and Exporting Options

This is a side-effect of SlickEdit's size. Most text editors have a few options to control things like screen-colors, fonts, indent preferences, etc. SlickEdit has hundreds, even thousands given that each file-type has its own separate options to set. And with that many options, sharing your editor options with other users suddenly becomes a non-trivial task. You can't just pass around your config file with your preferred C++ settings if it'll mess up the carefully-written settings for the guys writing PHP code.

So SlickEdit now has a method to import and export just some of your settings.


Figure 2: The Settings Exporter.

It's actually rather simple. Each category and subcategory and subsubcategory of SlickEdit settings has a checkbox. Just check what settings you want to export and do it. Importing is much the same. Just click the import settings and choose the stuff you want to import.

For a small one or two-person operation, this isn't all that useful, but it can definitely be helpful for a large group. That way if you need to change a compiler setting for your programming team, you can do it without wiping out everyone's closely-held font and color settings.

Remote Debugging

I guess as a testimony to SlickEdit's built-in programming language, SlickEdit 2009 now includes a built-in remote debugger written entirely in SlickEdit's SlickC language. It currently supports Python, Perl, and PHP. Note that debugging remotely is still every bit as kludgy as it's always been, but at least SlickEdit gives it a decent UI.

And that's why you're getting the stock screenshot here rather than one I generated at Gamedev's review HQ, as I couldn't get a decent remote debugging connection from my hosting provider.


Figure 3: Remote debugging some PHP

Smarter Diff

Probably my favorite new SlickEdit feature is "Source Diff" in its differencing tool, DIFFzilla. When you're differencing two source files with syntax that it groks (which is most of 'em), it knows the difference between a substantial difference in code and one that's insubstantial.

In other words, it now can ignore religious conflicts between brace indentation, concentrating on differences that actually would affect compiled code. Just to test, I loaded up an old source file and ran a code-refactor on it that re-indended and re-braced my code. I ran a "Source Diff" on the original and the newly re-indented code, and it told me that there were no differences of substance between the two files. It did ask me if I wanted to see the syntactic differences between the two, and I got this.


Figure 4: Source Diff on two compiler-identical, but differently indented, files

The original file is on the left. The newly-indented one is on the right. The green bars are spots where Source Diff has inserted tabs or carriage returns to make the newly-refactored code match the original. The bars are green, signifying that the changes on the right don't actually affect the compiled code.

If you want a traditional line-by-line diff, the "Line Diff" button at the bottom will switch your view.

This new "Source Diff" is perfect if you're in a multi-person shop and you have a programmer or two who just can't stand seeing braces not balanced to their satisfaction. This way you can ignore changes to indentation and spacing and just concentrate on the substance of the changes that were made.

Very nice.

D Language Support

While it might seem that supporting a new programming language would be no biggie, SlickEdit seems to have two "levels" of language support. At the first level is simple stuff like syntax coloring, reserved for general markup languages like XML. At the next level comes actual parsing of the language for parameter-completion and object browsing, and that support is now extended to Walter Bright's excellent D language.

And this is nice because D doesn't have a luxurious default IDE available for it.

Conclusion

SlickEdit is a vast complex piece of software that's been building in new features for literally decades, not unlike some other text editors with such a pedigree (namely EMACS). Unlike EMACS, SlickEdit remains approachable. You can drop into SlickEdit and use it for standard editing tasks without worrying that the functions you use most (open, save, search, replace, etc etc etc) are deeply buried or are hard to find and use. Once you "grow into" SlickEdit, you can dig deeper into it and see if it'll solve more and more text-related tasks for you.

Then you're hooked forever. Heh heh heh.

SlickEdit has so many features that it seems to constantly be in "tuning mode". Some systems seem to completely re-envision themselves every couple of years, while some just improve themselves based on user input. SlickEdit is a finely tuned system that improves itself marginally every year.

Whether all of the program's existing features coupled with the new ones are worth $299 to you is something you'll have to weigh yourself.