Product Review:

Codewright 6.5

 

By Scott Bilas

Review

Are you an engineer who enjoys working with the least common denominator of editors – the kind that comes with your IDE? Do you accept the defaults given to you by expensive usability labs that cater to the raving hordes of rookie Visual Basic programmers? Break free and accept your calling as a true engineer: use a standalone editor! I’ve been using Codewright since version 1.0 came out for 16-bit Windows many years ago. As of this writing, version 6.6 is in the works, and the product has acquired a huge array of features. I doubt I’ve used even 10% of them, so instead I’ll focus on the features I rely on heavily.

Codewright comes with everything that you expect from a serious editing tool these days: template expansion, symbol browsing, syntax coloring, version control integration, automatic code formatting, pointless emulation of VI… It’s difficult to break completely free of the IDE, so Codewright provides project and edit window auto-syncing. Recently some useful new things have been added, such as an embedded spreadsheet-style XML editor and Unicode support. There are also many tiny features that probably took five minutes to implement but are indispensable. Select a section of code and “filter” it through an external stdin/out-aware command-line app (such as uniq or sort). Use the “edit search path” facility to open files by pattern match from anywhere you please without being forced to browse there through a File|Open dialog or a messy project window. Have all your files automatically saved when you task-switch away. Automatically save a backup every 10 keystrokes or 10 seconds! Check spelling in your comments! Upload via FTP to your web site!

Codewright is all about patterns in text. If you wanted to add support to it for a language it doesn’t know about (perhaps one you’ve written) then it’s a matter of configuring the generic lexer to recognize your language’s keywords and telling it how to parse comments and such. The symbol browser and many other parts of the editor can be customized using regular expressions. Like other programmer tools, Codewright is also extendable through script. Unlike most programmer tools, you have a choice of three languages: a Visual Basic clone, Perl, and “API Macros” (a C-style scripting language). Or you can do what I do and write the big stuff in an extension DLL, and the little stuff in script. Note that the documentation is not very good, so refer to samples often here. Codewright comes with much of its own source code, which is convenient for uber-customizing, hacking, or just figuring out how things work for writing your own macros.

When I’m not editing code, I’m rummaging through it. I probably run a global search every ten minutes or so when I’m working (I can never remember where anything is). Codewright supports this compulsive habit through named search lists on the multi-file search dialog. You can configure patterns of files using a wildcard with optional path, run searches on them, and then save these lists for later. You can also search and replace from this dialog, even making it modeless if you want. One useful feature is to preserve case on replacement. And here is probably the single nicest feature of all: if a file is read-only, Codewright can automatically check the file out from version control, make the changes, and save the file, logging the results to the output window. All of this is optionally prompted of course.

Plenty of pros, what about cons? The main problem I have with Codewright is a problem I have with all editors. There has been no revolutionary advancement in the state of the art for quite some time. I spend all my time finding little bits of code and pushing them around, and it’s still slow as ever. Syntax coloring was a big leap forward in readability, as it can make a misplaced end quote glaringly obvious, for example. But beyond that decade-old feature I’ve found few other new things that really make the basic tasks of writing, finding, and modifying code any faster or easier. On the plus side, the makers of Codewright are very responsive and provide excellent technical support. Perhaps a well-written feature request…

Data Box

Company: Starbase Corporation (formerly Premia), www.premia.com.

Price: $299 direct, ~$270 street, $99 upgrade from previous Codewright, no competitive upgrade, eval available.

System Requirements: Win9x, WinNT, Win2000.

Bio

Scott Bilas is spilling coffee and ruining keyboards at Gas Powered Games, and can be reached at .