As a programmer, I'm personally limited to a handful of languages. In fact, when it comes to Java, I can't even say hello to the world. SlickEdit takes me to task in this department, supporting more than 40 languages. To be fair, some of those languages are specific to their platform (that is, Microsoft), but I couldn't think of a single language it doesn't support.
One of the advantages of using a tool like SlickEdit is that because it knows languages you might not be intimately familiar with, it's a great tool for jumping right in to unfamiliar code with unfamiliar syntax (which leads to my next favorite feature).
Although not exactly SkyNet-type artificial intelligence, SlickEdit does
save time by automatically completing your commands—and with the
proper language-specific syntax. For example, if you type
press the spacebar inside a C++ document, SlickEdit automatically creates
the parentheses and curly braces needed to complete the conditional
loop. I find this incredibly helpful when switching between languages,
because compilers aren't as forgiving with incorrect syntax as the
human brain might be.
Autocompletion doesn't stop with code syntax, however; SlickEdit also autocompletes any symbols or words while you type. This is great for long symbols or variable names. SlickEdit searches your open document in real time for matches and pops up a box with the matches it finds. If you don't want to use autocomplete, simply ignore the pop-up box and keep typing. Focus isn't taken away from what you're typing.
As I've mentioned, SlickEdit supports revision control systems like Git, but it also keeps a history of changes every time a file is saved. Even if you haven't committed your changes, you still can see the history of changes made to your files. Access to the save history really can save your bacon if you accidentally save an error by mistake.
SlickEdit uses a tool called DIFFzilla to compare files. It's also possible to compare folders full of files or active buffers in the editor. What makes DIFFzilla great is that it does its best job to reformat non-compilable differences (like whitespace or line breaks where they don't matter) in order to display the code side by side. This may seem like a minor feature, but it makes comparing files line by line a breeze. In fact, you can edit the code directly from the DIFFzilla window, and the updates are written back to the location where you opened the file. Figure 5 shows DIFFzilla in action.
Figure 5. DIFFzilla adds things like the "Imaginary Line Buffer" in order to line up code so it's easier to see.
For programmers who use chunks of code over and over (the foundation of FOSS, no?), SlickEdit supports code templates. Basically, any common coding elements can be saved as a template and used in a project easily. Re-using code isn't revolutionary by any means, but the templating system makes it easy to do. By using templates, there is no longer a need to search/replace the files to make it match your project. SlickEdit automatically changes the specified parts of the template to match your needs.
Life without regex would be hard to sort through. Bad joke, I know, but as powerful as regular expressions can be, they also can be mind-bending, especially after a long day of coding. SlickEdit includes a "Regex Evaluator", which lets you test your regular expression in real time against test data. It doesn't guarantee your regex will be perfect, but the real-time testing can help eliminate silly mistakes.
Programmers love to re-use code, but they also tend to repeat the same tasks over and over as well. SlickEdit has a nifty macro-recording feature, so that you can assign a keyboard shortcut to a process you need to do often. It can be as simple as a key to add/remove a comment, or it can be as complicated as rewriting sections of code.
If you have complex macros to create, SlickEdit includes its own programming language specifically for macros. Slick-C has extremely complex abilities that can interact with just about every facet of the SlickEdit program. If you generally go through a long list of procedures when you start a new project, SlickEdit can be programmed to do them for you with a single keystroke. Information on the Slick-C language is available on the SlickEdit Web site.
No, I'm not talking about that stuff you ate in kindergarten, but plain-old copy/paste. When you paste a chunk of code from one place to another, SlickEdit will match indentation and brace placement automatically. It's another feature that doesn't affect the compiled code, but it makes the source much easier to read and less embarrassing to share.
Built-in Command Line
A feature I bet Windows programmers appreciate even more than we do in
Linux is the built-in command-line interface. Once activated, the command
line offers a set of commands that can be accessed command-line-style. Its
similarity to the Linux command line might be a little confusing, because
although some of the output is similar (typing
ls for instance),
it's not truly a Linux shell. For quick mouse-free file interaction,
however, it is worth the effort to learn the commands available.
If you've been a SlickEdit user in the past, you'll likely find SlickEdit 2011 (version 16) has a few really great enhancements. Notably for Linux users are the following:
64-bit version for those using 64-bit Linux.
Although most of the new features are self-explanatory, the multithreading is more than just minor code efficiency. In the past, when parsing source code for tagging, SlickEdit would force the user to wait. Now, a little box pops up telling you it's working in the background. For large projects with lots of files, this seemingly insignificant feature can save tons of time.
SlickEdit is an amazing tool. As a novice programmer, I barely scratched the surface of its full abilities, but even so, I found it's extremely useful. One of my favorite features is the keyboard emulation, which makes the learning curve a little less steep. Although its features make it ideal for a full-time, professional programmer, unfortunately, so does its price. At $299 for a single user license, SlickEdit isn't for everyone, but for programmers working in an environment where time is money, its time-saving features alone will pay for itself in short order.
Apart from a few minor issues, like the lockups when trying to configure Git, SlickEdit was very stable during my testing. The GUI itself seems to use a proprietary toolkit, or one I'm not familiar with. The menus behave strangely from time to time, and they refuse to close occasionally, requiring me to click off the main window to get it to behave properly. It's possible that is just some strange conflict with my Xubuntu desktop, and it isn't a showstopper by any means.
If you want to try SlickEdit, there is a free 15-day trial, which includes help from the SlickEdit support team. If you're an Eclipse user, there is the SlickEdit core editor as a plugin for Eclipse. Both options are available from SlickEdit's Web site: http://www.slickedit.com.
- DevOps: Better Than the Sum of Its Parts
- Return of the Mac
- Drupageddon: SQL Injection, Database Abstraction and Hundreds of Thousands of Web Sites
- Play for Me, Jarvis
- Non-Linux FOSS: .NET?
- Not So Dynamic Updates
- Designing Foils with XFLR5
- Users, Permissions and Multitenant Sites
- April 2015 Issue of Linux Journal: High-Performance Computing