Visual SlickEdit, Version 9.0

Reviewed by Bob Neuendorf, Dave Neuendorf and Richard Wiener

space PRODUCT
REVIEW


PDF Icon
PDF Version

The latest version of Visual SlickEdit, Version 9.0, is available from SlickEdit, Inc., 3000 Aerial Center Parkway, Suite 120, Morrisville, NC 27560 (http://www.slickedit.com).

As the version number implies, this is a mature product. It is also one that is highly respected among programmers. This version lives up to the product’s reputation. It is an outstanding full-feature programming editor. The product ships with a well-written 331 page User’s Guide including a full index. Another guide, “Slick-C Programming Guide” presents the details of a macro programming language that may be used to customize SlickEdit.

In a product that is so highly evolved, it is always possible to find features that are imperfect or need improvement or features that you wish were present. This is especially true of a product such as a program editor. To programmers, editors are almost a religious issue.

Regarding the editing of XML files we found the following:

It is able quickly to load and parse very large xml files. The outline view on the left makes it really easy to navigate within the xml. If you double click any item in the outline, the editing cursor moves to the corresponding place in the xml file. Moving the cursor within the xml file causes the position in the outline view to change as well. This can be a little disconcerting, since the outline items are organized alphabetically rather than in the order in which they appear in the file; crossing entity boundaries can cause the outline to jump around a lot. However, we think that's the right way to do it. Xml entity order is not supposed to be significant, and this behavior graphically demonstrates that fact. It might be a nice configuration option, though, to organize the outline in either alphabetical or document order.

Unfortunately, editing a large xml file causes long delays (on the order of seconds per keystroke), presumably as the editor re-parses the changed code. This is the same problem that JBuilder has with large xml files. We were not able to find any configuration setting to control this continual reparsing so editing of large files would be more practical.

Some program editors provide smart indentation if one creates a block delimited by an open and close brace around multiple lines of source code. This scenario is fairly common in programming (e.g. one adds an if clause on top of what is to become a block containing multiple lines of code). It would be nice if SlickEdit were to automatically indent the lines within the block when the open and close brace delimiting the block were detected. The editor in Microsoft’s Visual Studio ™ performs such automatic indenting and one can quickly get used to its benefit.

Another major update to Visual SlickEdit is the C++ Refactoring tool. Visual SlickEdit includes many of the commonly used refactorings:

  • Rename: Capability to rename variables, methods, and classes and update the rest of the code to use the changed name.
  • Extract method: Creates a new method with the selected text as lines of the method body. Any undeclared variables are created as parameters to the new method.
  • Convert local to field: Moves local variables from the body of a method to be class members. References to the local variable are replaced with references to the new data member.
  • Convert global to static field: Moves globally declared variables into a static field in a class and updates references to refer to the new static variable.
  • Convert static method to instance method: Changes a static method into an instance method and updates any references to change how the method is accessed.
  • Encapsulate field: Generates getter and setter methods for the specified variable and makes that variable private
  • Move static field: Moves a method from one class to another and updates references accordingly.
  • Replace literal with declared constant: Replaces the selected literal with a constant, replacing use of the literal with the new constant.
  • Create Standard Method: Creates an assignment operator, copy constructor, default constructor, and destructor for the selected class.

The Java GUI Builder tool is used to construct GUIs in Swing and AWT for Java applications, applets, and dialogs. It provides a toolbar of GUI widgets and a design area to assemble the GUI, as well as a property window that lets you set the properties for each element, such as the layout manager. The GUI builder generates code to implement the screen layout and update the layout mode when the code is edited. To use the Java GUI tool you must use a Java compiler and JRE compatible with JDK 1.4.1 or later. Most of the features will work with earlier revisions of the JDK; however, it is not recommended nor supported.

Some of our favorite features of Version 9.0 include:

  • The ability to display a vertical line at a specific column
  • The ability to use Alt+Period to display local and global variables and class members
  • Parenthesis matching to display the current block of code
  • The ability to drag and drop text using the left mouse button
  • Context tagging is especially helpful on large projects by pressing Ctrl+Dot to go to the definition of a tag under the cursor. Ctrl+Comma returns to the calling cursor position
  • Merging code reminds us of the way Clearcase works with 3-way merge editing
  • SmartPaste which correctly indents pasted code into a block’s indent level
  • The FTP Tool works and looks great
  • Supports multiple platforms (Windows, Linux and Unix)
  • Fully customizable using their Macro Language
  • JBuilder Version 7 project files can be opened directly in Version 9.0

There are more features in Visual SlickEdit Version 9 than what most users will ever use. One would have to weigh the features one needs with the cost associated with using this product. Of the several worthy contenders for Multi-language Editors, we haven’t seen anything that comes close to VS9’s offerings. VS9 isn’t just a multi-language editor; it’s a powerful programmer’s tool. As it says on the package, VS9 “…is the most advanced code editor available.” You can believe it.


Cite this review as follows: Bob Neuendorf, Dave Neuendorf, Richard Wiener: Review of Visual SlickEdit, Version 9.0, in Journal of Object Technology, vol. 3, no. 8, September-October 2004, pp. 185-187. http://www.jot.fm/products/review6