Visual SlickEdit: A Commercial Editor for Programmers

 in
This editor is cross-platform, with versions available for all three Windows variants, OS/2 and a variety of Unix platforms.
  • Manufacturer: MicroEdge, Inc.

  • E-mail: sales@slickedit.com

  • URL: http://www.slickedit.com/

  • Price: $195 US

  • Reviewer: Larry Ayers

There is no shortage of high-quality free editors for Linux. A commercial editor would have to be quite powerful and easy to use to attract prospective customers in the Linux community, where the tradition of using freely-available software is deeply rooted. Visual SlickEdit, developed and marketed by MicroEdge, fits these two criteria. This editor is cross-platform, with versions available for all three Windows variants, OS/2 and a variety of Unix platforms. Recently MicroEdge released version 3.0 of SlickEdit, which brings several new enhancements to an already powerful editor. The closest free equivalents to SlickEdit are GNU Emacs and XEmacs, so in this review I will use these two editors as benchmarks for comparison.

In contrast to the two Emacs variants, SlickEdit is strictly an X application, although it originated as a character-mode editor. The character-mode console version is still available but is marketed separately.

Installation

Visual SlickEdit comes on five floppy disks. The installation is initiated by directly unpacking (using tar) the first disk's contents into a temporary directory, setting execute permission on an installation binary, then running the binary. From this point questions concerning preferred paths are asked, and eventually the option of whether or not to install the uncompiled macro files is offered. These *.e files aren't necessary for normal editor operation but can be installed if a user wishes to modify them. Not installing them will save some disk space.

I consider the choice of installation directories to be a very desirable feature, as each user will most likely have a different partition or directory with enough space. A full installation occupies about 18MB. Network installations are possible with each user sharing a common executable but running the program with personal initialization files and home directories.

Documentation

The 250-page printed manual supplied with the software is well written and complete, though the well-indexed on-line help system (see Figure 1) offers more than enough guidance while learning to effectively use the editor. About a third of the printed manual is a reference guide to the Slick-C language, which is invaluable for advanced users needing to create new macros and routines.

Figure 1. Help Window

Features

The MicroEdge developers have written a new macro programming language for this editor called Slick-C, which is derived from C++. The syntax is very close to that of C++, but the language has built-in features which are useful for building graphical user interfaces. Slick-C is analogous to Emacs LISP in that many of the routines and functions of the editor are implemented as compiled macros which are called as needed by the main executable.

The developers of Slick-C have attempted to address several shortcomings of C++, such as the lack of built-in types. Boolean, string and container types can be useful when developing editing functions, and Slick-C is designed to work with such types. As with any application-specific programming or macro language, the disadvantage is the necessity of learning yet another language if extensive customization is desired. Slick-C is close enough to C++ that the learning curve for C or C++ programmers shouldn not be too steep, but it's still there.

Just as the Emacs LISP *.el files are ASCII text compiled for efficiency into *.elc files, the Slick-C *.e files can be compiled into binary *.ex files. The advantage of a separate macro language is that new routines and functions can be written without the need of a new executable, and macro routines tend to be easier to write and debug than an entire editor with the new functions included.

Clipboard Inheritance is an interesting feature of the language, allowing new code to be added to existing controls without affecting the original. That is, parts of existing dialog boxes can be copied to the clipboard and pasted elsewhere; if new code is added to the original dialog box, it is inherited by its offspring.

A feature which programmers will find useful is called SmartPaste. This is an intelligent, syntax-aware version of the standard editing function. If a block of code is cut or copied and then pasted into another source file, the indentation of the pasted block will automatically match that of the surrounding code. I'm unaware of an equivalent Emacs function, but evidently there hasn't been a strong demand or (I surmise) someone would probably have written one by now.

SlickEdit uses its own versions of several Unix/Linux utilities such as diff, find and grep, among others. This feature would probably be more desirable for users with the Windows or OS/2 versions of the editor. The only advantage under Linux is that the interface is via dialog boxes, and the utilities are optimized for use with the editor. In version 3.0 the traditional Unix regular expression syntax is supported.

Support for a variety of version-control systems is included, and unlike the Emacs editors, various commercial version-control programs are supported, which is an advantage for programmers working in a commercial environment.

The command-line window can be used to enter shell commands as well as native editor commands. The command can be executed in a separate terminal window, such as an xterm, if the output needs to be monitored or if interaction is required. Some basic shell conveniences, such as aliasing and command history, are built into this interface.

Like the various Emacs editors (and few others) SlickEdit has an incremental search command, finding the next match of a search word, phrase or regular expression as it is typed. In most cases, the search finds the desired pattern before it has been completely typed in, speeding up the process.

Most modern Integrated Development Environments, such as Borland's, allow all of the files involved in a programming project to be accessed as a unit. SlickEdit includes this feature. A SlickEdit project includes the working directory, compile/make command lines and a list of pertinent files. Tagging (like Emacs' Etags program) is supported, enabling quick navigation through function definitions and other programming constructs.

The syntax-highlighting support is well done and easy to configure, once again with dialog boxes. Several color schemes are included with the default installation, and they provide good starting points for further modification.

SlickEdit has a number of nicely implemented formatting features, such as the ability to indent or un-indent selected lines with the tab key.

Although this editor has its own file-manager window, the list of most recently accessed files found in the File drop-down menu is very convenient. A few other editors, such as Nedit and FTE, save a similar history of files opened in previous sessions, and it's a time-saving feature if there are certain files which are repeatedly loaded.

Some of the other useful features are:

  • three-way file merging

  • hex editing

  • built in spell-checker and dictionary (not quite as extensive as ispell)

  • spell-checking can be restricted to only the comments and strings in source files

  • normally invisible characters such as tabs, spaces and end-of-line characters can be made visible

  • multiple clipboards with dialog interface

  • preconfigured support for many languages

  • C++ and Java code beautifiers

  • syntax expansion for several languages

  • file size up to one gigabyte

  • API Apprentice (help for APIs)

  • search and replace in multiple files, buffers or directories

  • multiple-level code folding, allowing comments, functions, etc. to be hidden and revealed at will

  • easily redefinable Enter, Backspace, Delete, Home and Tab keys

  • a variety of windowing treatments: tiling (horizontally or vertically), cascading, or a basic MDI interface

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Slickedit has some valuable

Anonymous's picture

Slickedit has some valuable functions, along with some odd behavior.
1. usually too many bug, and slow/hang for large project
2. even you type a simple label, it may freeze a few seconds try to get function prototype to display
3. print function under linux is odd and much worse then gedit
4. looking for reference is stupid, may pop up a large list

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix