SlickEdit’s biggest new feature for game developers has to be C++ refactoring, introduced in v9 and improved greatly in v10, SlickEdit is one of the few editors that offer the ability. There are so many improvements in this area it’s now actually usable functionality and no longer just a checkmark on a marketing brochure. Couple refactoring with customizable code beautifiers and you have a decent tool to hammer your source code into something readable.
SlickEdit v10 has enhanced integration with native operating systems, under Microsoft Windows SlickEdit now installs itself to the Microsoft standard “Program Files” directory and also makes use of “My Documents” to store all preferences and tag files – tag files are constructed by SlickEdit for navigation and context help, e.g. function parameter info, of source code. Previously preferences & tag files were stored under the main SlickEdit directory making backup, migration and multi-user desktops difficult to manage. The use of user directories also eases the sharing of tag files between developers on teams. Now you know precisely where to find your tag files and no longer need to hunt for them in program & project directories.
The GUI has undergone a partial overhaul so that it falls more in line with Microsoft & Apple UI guidelines; enhancements include dockable panes, auto-hide utility windows after use, and grouping of utility windows onto a tabbed pane. SlickEdit is also multi-monitor aware — I can’t imagine trying to work productively on a single monitor workstation anymore — The multi-monitor support is some of the best I’ve seen, preventing text editing windows from splitting across a monitor when first opened, and being able to set “full screen editing” on more than just your primary monitor.
SlickEdit’s biggest new feature for game developers has to be C++ refactoring, introduced in v9 and improved greatly in v10, SlickEdit is one of the few editors that offer the ability. There are so many improvements in this area it’s now actually usable functionality and no longer just a checkmark on a marketing brochure. Couple refactoring with customizable code beautifiers and you have a decent tool to hammer your source code into something readable.
SlickEdit isn’t an editor or environment aimed purely are people building Microsoft Windows applications. It is designed for developers who work with multiple languages, project types and data files on a daily basis making it ideal for teams who have to ship titles for multiple platforms that include embedded scripting languages.
With support for 47 languages and myriad project types I’m sure SlickEdit has weak support for some of them, but I have yet to find those. The handling of the major project types, Microsoft Visual Studio (MSVS) 2003 & 2005, ANT, make, and a number of others I have tried over the years, has proved to me that it can replace your Integrated Development Environment (IDE) of choice for everyday usage.
If you are moving from a one-platform, single solution IDE, e.g. MSVS, I suggest that you sit down with the tutorials for SlickEdit as the application does possess a different nomenclature and work flow from what you are probably used to. Like going from little-endian to big-endian or CISC to RISC. There’s mental translation from one environment to another until the new becomes familiar enough.
SlickEdit has supported the major source code repository systems for a number of years, e.g. CVS & Perforce, and now in v10, Subversion. My company is currently transitioning from Perforce to Subversion for content management and this is making a big difference for us.
I’m in the midst of developing games in Java so I am pleased to see that SlickEdit v10 supports J2ME (Java 2 Micro Edition) in addition to J2SE (Java 2 Standard Edition). This feature alone lets me debug the database driven web application and the J2ME & J2SE games inside of my IDE. Finally, I’m moving away from multiple DOS boxes and MSVS. SlickEdit has extensive support for ANT and JUnit — both of which I use for J2ME games – that integrate flawlessly into the IDE. Double-click compilation errors output by ANT or JUnit and SlickEdit jumps straight to the problem line every time.
As a mostly embedded systems & console developer (and now J2ME), I occasionally have to lower myself to distasteful tasks like building web pages for the company website. Utilising ASP.NET, C# or VB.NET, XML, Javascript and HTML, all of these languages quite often buried in the same source file, I have to build some complex web application on the back-end that will communicate with the game front-end or a utility that pulls data from a FAQ directly into a forum post. Until SlickEdit came along, there was no editor that I was aware of, capable of handling the errors, syntax colouring, and proper formatting of a source file containing more than one language.
SlickEdit supports multi-session debugging allowing you to debug multiple applications, say a game and a web server application that the game communicates with, from a single instance of SlickEdit. Useful when you are creating a J2ME application with a back-end web application.
Very few IDE’s provide a comprehensive and flexible source code compare & merge system so I’ve always used 3rd-party diff utilities to perform these actions on my source code. The problem with 3rd-party utilities is that they use a different interface, different keyboard layout for navigation, etc. SlickEdit makes use of Diffzilla, integrated completely in to the SlickEdit environment so that you never have to step out of your IDE to perform a merge or source tree compare. Diffzilla uses all of the key bindings and keyboard emulation that you have set, and makes use of the SlickEdit editor too, so you aren’t lumbered with a crippled diff utility editor.
Navigation through your projects has been enhanced with new syntax searching, improved tagging of source files, especially those with embedded languages, e.g. VBScript or Perl inside of regular source files, and better symbol analysis when navigating by function definition & reference.
Ensure you’re running the latest patch, 10.0.2, as of this review, as it fixes dozens of small, irritating bugs – I ran in to two minor UI bugs during my review of v10 that post-patch completely went away. SlickEdit isn’t buggy by any means — any application this complex will no doubt exhibit a few latent bugs – I just happened to exercise the program through some of the more esoteric features while reviewing. You probably wouldn’t find these bugs in a year’s worth of use.
Perhaps I am just too used to the slick way that MMORPG games and Microsoft Windows handle patching but when a patch is available I expect the application to just handle it all for me after I tell it I want the patch. SlickEdit isn’t the only application on the market guilty of adding friction to the user-experience through the UI when it comes to patching. SlickEdit can readily check for updates but that’s all it does. What would you do if you took your car in for repair and after a brief inspection the mechanic tells you “Yup, it’s broken. Here’s the tools, the replacement parts, and the service manual. Have fun.” I expect more than a link that opens a new browser window to the support area of the company’s website, leaving me to determine the application version, specific OS release, and patch release I require.
You should consider SlickEdit to be another powerful IDE to put in your toolbox. You can use SlickEdit to replace the “old standby”, MSVS, or you can use SlickEdit to supplement and enhance your toolbox. Asking developers who are deeply entrenched in the MSVS camp to switch editors is difficult, but by sticking to only one environment, and ignoring SlickEdit, you’re passing up an immense opportunity to use one of the best editing and development environments on the market.
Visual SlickEdit v10
Company: SlickEdit
3000 Aerial Center Parkway
Suite 120
Morrisville, NC 27560
USA
Tel: 1 919 473 0070
Fax: 1 919 473 0080
Rating
10 out of 10
Pros
Cons
This review originally appeared in a 2005 issue of Game Developer Magazine.