When it comes to writing scripts, most administrators fall back on their tried-and-true companion: Microsoft Notepad. Although handy and free, there's no doubt that Notepad is a bare-bones, no-frills text editor. For simple scripts, it can get the job done, but if you really get into scripting, you'll soon be looking for a more powerful editing tool that can make you more productive. In this article, I use specific evaluation criteria to review four scripting editors that can do exactly that: SAPIEN Technologies' PrimalScript 3.1, Helios Software Solutions' TextPad 4.7, Adersoft's VbsEdit+JsEdit 2.0, and ES-Computing's EditPlus 2.12. Table 1 compares these products' features.

Evaluation Criteria
When you're evaluating scripting editors, you should look for features that add value beyond what Notepad offers for free. First, you want to evaluate the product's general-editing features. One of the most important of these is the ability to open and edit multiple documents in an editing pane, which can provide a big productivity boost when you're working on multifile projects. You should also look for unlimited undo and redo capabilities. The ability to perform block-mode editing in addition to text-mode editing can be another handy feature.

Then, you want to evaluate the product's scripting-specific features, such as its support for a variety of scripting languages. In addition, you'll want to determine whether the editor offers templates for common coding constructs (e.g., For Next loops, object creation). Features such as color-coded syntax and the ability to match braces (\{ \}) are helpful. Another helpful feature is support for code completion along the lines of Microsoft Visual Studio's (VS's) IntelliSense, in which the editor can interactively display a drop-down box showing an object's methods and properties.

PrimalScript
PrimalScript installed effortlessly in under a minute. When PrimalScript first opens, you're faced with an empty development environment in the right portion of the screen and a collection of eight tabbed tool windows, each of which is called a Nexus, on the left side. These eight windows provide an array of code-editing features:

  • The Workspace Nexus lists the PrimalScript workspaces (i.e., groups of related source files).
  • The Sourcebrowser Nexus provides a hierarchical class view of your project.
  • The File Nexus provides a Windows Explorer­type view of the file system.
  • The Info Nexus displays the PrimalScript Help file as well as a collection of
    Web resources, including search and scripting-related sites.
  • The Tools Nexus contains links to a number of tools (e.g., regedit). You can also include links to your own tools, such as your existing scripts, or to third-party tools (e.g., Sysinternals' PsTools). You add your own tools by dragging them from Windows Explorer onto the Tools Nexus, which creates shortcuts to them in that Nexus.
  • The Snippets Nexus provides a prebuilt library of code snippets to which you can add your own favorite code snippets. As Figure 1 shows, the snippets are organized by language.
  • The HTML Nexus displays a hierarchical view of the tags in HTML source files.
  • The Type Library Browser lets you explore the properties and methods of COM object libraries. (Although PrimalScript calls the eighth tabbed window a browser, it is also one of the Nexuses.)

PrimalScript provides all the general-editing features you would expect in a modern graphical editor. For example, you can open and edit multiple documents in the edit pane. To display the open documents' names, PrimalScript uses the same type of tabbed window interface that Visual Studio .NET offers. Other editing features include unlimited undo and redo, support for recording and running macros, and a spell-checker. PrimalScript also provides several additional niceties, including line numbering, bookmarks, and hexadecimal display mode.

PrimalScript is a good editor, but its scripting support is where the product really shines. You have to work with PrimalScript for only a few minutes to realize that it's very focused on administrative scripting. PrimalScript supports virtually all of today's popular scripting languages, including VBScript, JScript, Perl, JavaScript, PHP (originally derived from Personal Home Page Tools but now standing for PHP: Hypertext Preprocessor), and Restructured Extended Executor (REXX). In addition, it supports Windows Script Host (WSH), some markup languages (e.g., HTML, XML), and several programming languages (e.g., C, C++, C#, Java, Visual Basic .NET). PrimalScript provides color-coded syntax for all these languages and checks for matching braces in languages that use them (e.g., JScript, Java, JavaScript, C++, C#). One of the coolest features is its ability to provide IntelliSense-style prompting for late-bond objects instantiated with VBScript's CreateObject function.

PrimalScript offers a variety of professional development features, including integration with Microsoft Source Code Control (SCC) API­compliant source-control systems, such as Microsoft Visual SourceSafe (VSS). Another handy feature is the built-in WMI Script Wizard, which provides the same type of functionality as the Microsoft Scriptomatic utility.

PrimalScript even lets you debug scripts by enabling its Just-In-Time debugging option. However, I found that to get Just-In-Time debugging to work, I needed to manually set up the Microsoft Script Debugger.

TextPad
Although PrimalScript is built with a distinct emphasis on scripting, that's not the case with TextPad. TextPad is more of a general-purpose editor that happens to be well adapted to scripting.

TextPad's installation was simple and painless, taking well less than a minute. By default, TextPad opens up to a blank edit pane. TextPad's editing environment is similar to PrimalScript's environment in that TextPad lets you simultaneously open and edit multiple documents in the edit pane. However, instead of putting the documents' names in tabs above the edit pane, TextPad lists them in a pane to the left of the edit pane, as Figure 2 shows.

I found TextPad's general-editing capabilities to be slightly more powerful than those in PrimalScript. Like PrimalScript, TextPad offers unlimited undo and redo, a spell-checker, support for recording and running macros, line numbering, and bookmarks. But unlike PrimalScript, TextPad also provides a handy block-mode editing feature that lets you select, cut, and paste columns of text. Some other nice features in TextPad are the ability to display rendered HTML source code in a Web browser and the ability to launch a command window and Windows Explorer from options off the editor's Tools menu.

Although TextPad's general-editing capabilities are strong, its scripting-specific features are nowhere near as extensive as those offered by PrimalScript. TextPad supports color-coded syntax for C, C++, Java, and HTML but not for the scripting languages, such as VBScript and Perl, unless you add your own syntax files. TextPad supports the ability to match braces, which is handy for languages such as Java, JavaScript, C#, and C++. However, it lacks the advanced features found in PrimalScript, such as IntelliSense-style prompting, an integrated snippets library, code templates, and source-control
integration.

VbsEdit+JsEdit
Like PrimalScript, VbsEdit+JsEdit is designed with a distinct emphasis on scripting. However, VbsEdit+JsEdit is significantly more limited than PrimalScript. Unlike the other editors reviewed here, which support many languages, VbsEdit+JsEdit is designed to edit only VBScript and JScript files.

VbsEdit+JsEdit is a lightweight product that consists of two separate modules: VbsEdit and JsEdit. I installed VbsEdit, which took just a few seconds. Figure 3 shows VbsEdit's GUI.

VbsEdit's general-editing capabilities are similar to those in Notepad, so if you're familiar with Notepad, you'd be able to starting using VbsEdit immediately. Unfortunately, you can edit only one document at a time; to edit multiple documents, you must start multiple instances of VbsEdit. VbsEdit lets you copy text and provides unlimited undo and redo capability. Beyond the basic editing capabilities, VbsEdit offers line numbering and a white-space display, which replaces white space (i.e., blank spaces) on the screen with viewable characters. You can't set bookmarks or perform block-mode editing.

Although VbsEdit is a basic editor, it offers several scripting-related features that can make you a more productive VBScript developer. For example, VbsEdit displays VBScript files with color-coded syntax. Like PrimalScript, VbsEdit also offers IntelliSense-style support for COM objects. And VbsEdit offers a Windows Management Instrumentation (WMI) prompter that works a bit like Scriptomatic by inserting WMI declarations and property assignments into the current document. Another nice feature is debugging support. VbsEdit supports debugging using Microsoft Script Debugger, and its integrated debugging was a bit easier to work with than PrimalScript's debugger. An option on the Help menu let me seamlessly download the Microsoft Script Debugger.

I ran into a couple of problems when using VbsEdit. One minor problem was that the breakpoints set on one script remained in place even when I exited that script and opened a new one. Another problem occurred with VbsEdit's limited online Help files. The Search option on the Help menu unexpectedly downloaded Microsoft scripting documentation. The Help menu's other main options let you either search the Web with your browser's default search option or search a particular Web site.

Like PrimalScript and VbsEdit+JsEdit, EditPlus is designed primarily as scripting editor. However, whereas PrimalScript and VbsEdit+JsEdit are mainly oriented toward administrative scripting, EditPlus is oriented more toward Web development.

Like the other editors in this review, EditPlus installed quickly and easily with no problems. Its stronger Web orientation gave it a decidedly different look and feel from the other editors. When EditPlus first opens, a multitabbed toolbox displays on the left side of the screen and the primary edit pane displays on the right side. The Directory tab in the toolbox presents a Windows Explorer­like window containing a directory list. The Cliptext tab presents a list of code snippets for HTML, Cascading Style Sheets (CSS), and ANSI control characters.

EditPlus supports the editing of multiple documents in the edit pane. The editor lists the documents' names in taskbar buttons along the bottom of the window, as Figure 4 shows.

EditPlus is a very good general-purpose editor, with unlimited undo and redo capability. You can record and run macros, perform spell checks, set and navigate to bookmarks, and view rendered HTML source code in an integrated browser window. Other useful code-editing features include line numbering, a ruler, word counts, byte counts, and column-mode editing. EditPlus's column-mode editing isn't quite as easy to use as TextPad's block-mode editing because you need to define column markers, but you can perform the same type of cut-and-paste operation.

EditPlus doesn't support as many languages as PrimalScript. By default, EditPlus supports color-coded syntax for VBScript, Perl, HTML, Active Server Pages (ASP), CSS, PHP, C, C++, Java, and JavaScript. In addition, unlike any of the other three editors, you can extend EditPlus's language support by providing your own syntax template.

EditPlus supports autocompletion for Perl, C, and C++. The autocompletion feature automatically fills in keywords when you begin to type a recognizable string. As with the color-coded-syntax feature, you can manually extend this support to other languages. Like PrimalScript, EditPlus groups related files together into projects. Although the ES-Computing product doesn't offer integrated debugging capabilities or source-control options, its integrated Web browser and the ability to use FTP to seamlessly transfer files make it a good choice for Web development.

If you're a serious scriptwriter, do yourself a favor and try PrimalScript. Of the editors I reviewed, PrimalScript is the clear winner for writing Windows scripts. Although it's quite expensive at $179, PrimalScript provides a powerful, extensible toolset that will help you write scripts in VBScript, Perl, and just about any other popular scripting language.

If you no longer want to use Notepad for scripting but can't afford PrimalScript, consider buying TextPad. At $29, TextPad is a far less expensive editing alternative. Although it doesn't offer the same advanced scripting-specific features that PrimalScript possesses, it's a very capable general-purpose editor.

VbsEdit+JsEdit is an effective editor for VBScript and JScript files, but it isn't the same caliber as PrimalScript or TextPad. At $30, VbsEdit+JsEdit certainly costs less than PrimalScript but lacks many of its features, including support for multiple languages. Although VbsEdit+JsEdit costs nearly the same as TextPad and does a better job with VBScript and JScript development than TextPad, VbsEdit+JsEdit's general-editing capabilities are more limited.

EditPlus is a good scripting editor for administrators who need to do Web development. Its Web development features are stronger than the other editors', but its administrative scripting support is not as strong as that offered by PrimalScript. Its built-in support is better for Perl than VBScript.