SlickEdit

SlickEdit is my code editor du jour. It has a built-in dynamic symbol database with excellent code navigation features to name a few. It is especially strong on handling large C++/Java projects, but its scripting language support such as {en:Python (programming language)|Python} is not bad, either. Although the editor looks as if it’s strongly GUI-oriented at first glance (it bears resemblance to Microsoft Visual Studio), it is designed with keyboard-oriented programmers in mind, so that nearly all of its functionality can be bound to a key-stroke. It also features a pretty good {en:Vim (text editor)|Vim} emulation for those who are accustomed to Vim key bindings. There is also {en:GNU} {en:Emacs} emulation for Emacs users.

I was introduced to SlickEdit while I was employed at the very company that develops the editor, and it has been my primary code editor ever since. The only drawback of SlickEdit is its steep learning curve; it’s rather trivially easy to learn the basic editing features of the editor, but to truly unleash the power of this editor will likely require some investment of time. But in the end, it’s worth the investment especially if you code full-time and care about long-term productivity of your programming career.

Resources

A new SlickEdit user might want to read the user’s guide found on the product documentation page. The forums are also available to get some help from other SlickEdit users.

Useful Commands

You can’t possibly take full advantage of the power of SlickEdit without knowing commands. Listed here are some of the editor’s built-in commands that I’ve come across that I find quite useful.

Some SlickEdit commands have multiple names, in which case the names are separated by commas. When a command has multiple names, using any one of them executes the same command associated with them.

explore

This command launches a native file manager window, with the directory of a current active file as the current directory. This is equivalent of selecting the Tools – OS File Browser menu item.

xml-beautify

I use this command a lot when editing XML files. As the name suggests, this command beatifies the content of an XML file in the current buffer.

grep-tag,gt

This command is very useful when you want to look up all symbols that meets a certain pattern. It supports several search options, such as wildcard or regular expressions, whether to perform case sensitive search or insensitive search. I tend to always do a case sensitive search using UNIX’s regular expressions as follows:

gt/SomeAbstract.*Dlg/u

This command gives you a list of all symbol names that matches the SomeAbstract.*Dlg regex pattern. The ‘u’ suffix tells the command that the pattern given is a UNIX regex pattern.