CodeWright 7 for .NET and CodeWright 7.5
By Mike Riley
Borland acquired CodeWright as part of their Starbase acquisition (previously, Starbase acquired the tool from Premia), and while the adoption of the utility into the Borland family makes sense from a language-independent IDE standpoint, its future place in the Borland lineup is hazy because of Borland's emphasis on a standardized IDE approach introduced with Borland's recently-released C#Builder product (check out Mike Riley's review of Borland C#Builder Enterprise - Ed.). As such, the standalone layout doesn't quite conform to the familiar Borland IDE look and feel. This is much less important in the VS .NET-hosted version, where CodeWright's unobtrusive menu and related toolbar are its most noticeable footprints (see Figure 1).
Figure 1. The .NET version of CodeWright lives within the Visual Studio .NET IDE and includes nearly all the functionality found in the standalone edition.
The current versions of both editions support the C# language out of the box, but not VB .NET. Consequently, VB .NET developers will not be able to appreciate a sizeable chunk of CodeWright's timesaving features. Besides C#, some of the other languages that CodeWright supports include Assembly, AppBasic, C, COBOL, C++, HTML, Java, Pascal, PERL, VRML, and XML.
For me, the most unique (and nifty) feature of CodeWright is the built-in peer-to-peer CodeMeeting instant messaging client (see Figure 2). Although other IM applications could be used for team messaging and file transfer, CodeMeeting allows for real-time, integrated, synchronized file sharing. This is one of those features that seems like such an obvious inclusion into a code management tool after the fact, as if it should have been a base requirement in any coding environment. Nevertheless, the CodeWright team promoted this cool utility first and it is definitely a killer addition for team-based development environments.
Figure 2. The standalone version of CodeWright features a number of useful tools, with CodeMeeting being one of my personal favorites.
Other features that are at parity with competing products are:
- its file differencing engine
- regular expression searching support
- macro recording
- CodeSense name completion for function parameters
- FTP upload
- Visual Studio, Delphi, JBuilder, and C++Builder project file synchronization, and
- version control that supports PVCS, StarTeam, and Visual SourceSafe (but not CVS)
Unfortunately, even at the 7.5 release level, there are still problems with the product. CodeMeeting has a nasty habit of freezing the CodeWright environment when attempting to connect to a client while not on a network. There seems to be no timeout associated with the call so the only way to cancel this frozen condition is the three-finger salute method. I discovered this while accidentally clicking the connect button while on a cross-country flight, losing all my work and preference settings from that session. Also, while multiple SDI windows can be docked within the main CodeWright window, coaxing the framed windows into specific locations is hit or miss. For instance, it took me over 10 attempts to correctly dock the CodeFolio window into the upper-left quadrant of the main program window. Lastly, for those developers looking to extend the environment, a separate SDK package must be obtained via Borland's sales staff. Why Borland opted to decouple the SDK, especially since its target market is the serious developer, is perplexing to say the least.
In summary, Borland's CodeWright is a tool worth consideration by the Windows developer, but best serves the Visual Studio .NET power user. It's too bad that the standalone and .NET editions are not included in the same package, as they complement each other by serving the horizon of Windows developer needs being addressed. However, with the exception of the excellent CodeMeeting and CodeFolio features and the lower price compared to competing packages, the standalone CodeWright product still lags behind competitor Visual SlickEdit in several key areas such as language library support and interface usability. Still, competition is a good thing, and I look forward to future versions of these products as they can only serve to further improve developer productivity.
Web Site: http://www.codewright.com/