A Programmer's Editor Shootout
Visual SlickEdit 2.0
Written by Carsten Whimster
Visual SlickEdit from MicroEdge is a cross-platform (and they mean it!) programmer's editor, which comes in both PM and text-mode versions for OS/2.
Packaging and Installation
The packaging for SlickEdit includes a stiff professional lid-type box, 5 3.5" floppies, some leaflets, a registration card, a reference guide, and a 252 page manual.
Installation was pretty straight-forward, although it does hog the system at the start. Also, the installation found some non-existing version already there, and got stuck on trying to transfer macros. I had to cancel this attempt, but from then on installation proceeded fine. A minor annoyance is the fact that as it installs, each dialog requesting the next disk pops to the top over running applications instead of just beeping. The setup is quite complex, but manageable. The dialogs were nice and small though.
Visual SlickEdit is an incredibly complete programmers' editor with a list of platform coverage that is longer than the beards of most oracles. Apart from OS/2 and the three brands of Windows, it is even available on such platforms as SCO UNIX, Linux, FreeBSD, and many many others, but surprisingly not the Macintosh, VMS or any IBM mainframes. That is a shame, but I imagine there is a reason for this. Perhaps these platforms are different enough that porting would be a major undertaking. In addition, there are text mode versions available for a subset of the platforms. Here is a screen shot of the main window:
The main window can be set up to use either the MDI feel, or more like EPM with many buffers, but just one window. You can also tile or cascade vertically or horizontally, if desired.
SlickEdit has so many features that trying to rhyme them all off would take the rest of this review, so I will just quickly name some of the more unusual or powerful ones here:
Ok, that sounds great on paper, but how does it work? I used this editor quite extensively, and got the chance to set up syntax colouring for HTML just the way I like it, and also some syntax expansion, and it is all fairly straight forward and easy to learn. The one limitation I came across was that only two multi-line syntax colouring constructs are allowed, and the end characters were a little problematic when I tried to set up <-- and -->. I found this a little limiting, but MicroEdge has promised to look at expanding this for the next release. We will see. Here is a look at the main configuration dialog, just to give you an idea of how configurable it is:
I didn't really use the multiple clipboards much, but find this very useful when using vi on UNIX, so I imagine I will need it one day. It is nice to know that it is there. I did have some trouble copying from Netscape and pasting into SlickEdit, however. The clipboards are a little unusual, and I didn't manage to find out whether this is merely a setup issue, or whether there is some kind of bug. In any case, it was easy enough to work around.
The multi-file merge is another life saver. I frequently have to merge spell fixes with a file I have HTMLized meanwhile, and this editor makes this easy. It even has provisions for merging three files.
The regular expression search and replace functionality is also very, very good. It is not quite identical to what I am used to in vi, but it is very close, and it took almost no time to adjust.
Speaking of bugs, I did come across a couple, but each time, I just mailed MicroEdge, and within a couple of days, they emailed me fixes to be applied to the Slick-C code that most of the editor is built on. This is the same language that you can use to program in your own functionality. Slick-C looks and feels quite a lot like EPM's e language, for those who have seen that. I didn't spend much time trying to program in it, but it seems just as obscure, although with much better help facilities. Speaking of EPM, SlickEdit has the feel of something like a cross between vi and EPM. I didn't use the Brief, vi or Emacs emulations, but they are claimed to be very complete, and given what this editor offers that I have checked out, I have no reason to suspect that this claim is not true. The pervasive use of this language does slow down loading and quitting the editor somewhat, but once running, it is quite snappy.
The spell-checking options are fully as good as a word processor's! I used them on this very document, and although the dictionary was a little anemic considering that the editor is aware of HTML, it was quite easy to use and set up.
There is one very small feature which floored me completely. This is something that vi does in a reduced way, but in SlickEdit you can highlight several lines and then press Tab to indent and Shift-Tab to outdent! This makes it incredibly easy to format a large document quickly. With HTML this is a god-send. There are many such small features which prove to me beyond the shadow of a doubt that these people use their own product extensively. No one but a programmer would have thought of this.
I would like to see background threads used for more editing tasks. When performing multi-directory search and replace operations, loads of large (1 MB+) files, saves of similarly large files, large cut-and-pastes and so on, it basically freezes Warp's interface until done. The multi-buffer, file and directory search and replace feature is quite simply astonishingly useful. Having used it now, I cannot imagine ever using an editor *without* this feature. What used to take hours can now take seconds. My address recently changed from firstname.lastname@example.org to Carsten@edm2.com and this change was easily accomplished throughout all issues of EDM/2 just by using multi-directory search-and-replace. A real lifesaver.
Finally, I felt that a review wouldn't be complete without at least having tried to use the compilation options, so I set out to configure SlickEdit for compiling Java programs (commandline compiler). I created a small Java source file, created a new project, answered a few questions on what type of project it was, and which files to include. Then I used the Shift-F10 compile short-cut, and the program compiled. Too easy! Then I introduced a run-time error, and the same thing happened, except this time it aborted with an exception. Finally I added a compile-time error, and sure enough, it showed up in the error window. Ctrl-Shift-Down jumped to the error in my source file. All very painless and intuitive. If you are setting up a larger project with makefile and multiple directories, SlickEdit has it covered too, but obviously it would be more work to set up.
Visual SlickEdit 2.0 is an incredible editor with a few minor flaws. The icons on the toolbar need some help from a graphic artist, and the layout of the configuration dialogs need some attention from a user interface specialist. I have no reservations about recommending this editor to anyone who enjoys either vi or EPM, and most other programmers could probably configure it to suit them as well. The depth of configuration seems unfathomable, at least for a one-month review. With time and a lot of effort, I am sure that I can eventually discover at least 25% of its capabilities :) MicroEdge has proven very responsive about support, and fixing their editor's little buglets, right over the Internet.
I have no reservations at all about giving a high overall rating, but until some of the minor issues I have mentioned are taken care of, the perfect score eludes this program, albeit only just.
Overall Rating: 4 1/2 of 5.
Visual SlickEdit can be ordered from the MicroEdge web site, as well as many of the larger OS/2 software outlets.
Visual SlickEdit 2.0