Something as simple as finding all the files that contain a particular string can actually be challenging on Windows.
You can use Windows' Search Companion (see Figure 10), but I find it's sometimes inaccurate. In contrast, you'll find SlickEdit's Find in Files command much more useful (see Figure 11).
Basically, SlickEdit gives you all the power of regular expressions for searching inside files on your hard drive. It's great for finding things quickly, and it's both faster and more accurate than Windows search.
|Figure 12. Tagged Files: After identifying a set of files, you can easily browse symbols and functions that occur within that file set.|
If I could pick one IDE feature that I wouldn't want to be without, it would be source browsing. While searching through files is useful, it's even nicer to be able to list and jump to all the occurrences of a call to see which might be erroneous, or to figure out how many files I'd have to change if that function's call signature changed. SlickEdit not only has a great source browsing engine, it works for several languages. The C++ source browser is very nice. Using the Tools Tag Files feature, you can select several complete source trees to browse, making it very easy to jump to definitions and references in your code (see Figure 12). Tag Files includes another powerful feature: popup cues for APIs with Doxygen or Javadoc syntax!
In practice, as you type a function call, SlickEdit notices whether that function resides in its source code database (see Figure 13).
|Figure 13. API Cues: When you type a function name, SlickEdit looks for and (if found) displays appropriate Doxygen or JavaDoc-style information about that function.|
As you might imagine, because SlickEdit's been around for 20 years, this article just scratches the surface, but some other useful features include:
- Version control integration: SlickEdit works with all major version control packages.
- Support for debugging within the editor: You can compile, run, and debug right within the editor.
- Configurable file types: SlickEdit's file extension configuration associates file types with different compilers or formatting based on the language you're using. SlickEdit provides good defaults for most popular languages.
- Comprehensive formatting: You'll find extensive support for your personal code-formatting preferences—even for comments. Figure 14 gives you an idea of the range of formatting options available. You can even dictate brace style. When you type braces, they can open up the way you like and place the cursor where you want. Some people despise this feature; if you do, just turn it off.
- Problem highlighting: SlickEdit's source browser engine can note when code you've typed is slightly off. For example, when making Doxygen-aware comments, if the comments aren't green you probably forgot the extra asterisk. As another example, in Figure 15, a referenced but undefined variable is highlighted in red.
- Convenient command line: SlickEdit provides a command line that you reach with the Esc key, so you can type Slick-C commands directly.
SlickEdit is a truly powerful editor. There probably isn't anyone on the planet who knows all the features in this product. Despite its power, SlickEdit manages to keep all that functionality out of your way until you need it. That may be the most important feature of all!