SlickEdit comes with a powerful debugger that you can use to run Java applications in debug mode and step through the code. I used the debugger feature to connect to the Tomcat server hosting the Web application. To do this, start Tomcat with remote debug enabled and connect to the Tomcat JVM from SlickEdit using the following procedure:
|Figure 2. Debug Configuration Window: To debug, specify the server name and the remote debug port number.|
- Stop Tomcat, and then modify Tomcat's startup script catalina.bat (located in the bin directory under the Tomcat main directory) adding the following JVM arguments to enable remote debugging when you restart Tomcat.
- After Tomcat is running, click the Debug menu option in SlickEdit and select Attach Debugger> Attach to Java Virtual Machine. (Note: SlickEdit also has the capability of remotely debugging a .NET program).
shows the configuration window where you specify the server name and remote debug port number.
When you've configured the debugger, you can set break points in the source code and debug the program. By using the SlickEdit debugger Java programmers can both look at their code in run-time mode as well as refactor it. Figure 3
shows a screenshot of the debugger window with a breakpoint set in the servlet class.
|Figure 3. Debugger Window at Breakpoint: Here's what the debugger window looks like after setting a breakpoint in the servlet class.|
To get back to source mode (where you can view the project hierarchy pane, select a source file, and modify the source) from debug mode, select View> Toolbars> and click on the Projects name. This brings up the Projects toolbar where you can modify any of the source files.
In addition to the features already discussed, SlickEdit offers several other interesting features that can add value to your editing experience.
. Code Templates let you define and instantiate frequently used code files. When you create a new file, SlickEdit displays a list of file types. As shipped, SlickEdit provides templates for several different types, including Java, JSP, HTML, C Shell, C#, Cobol, PHP, Python, Ruby etc.
. I used the Macro function in SlickEdit to parse a tab delimited text file and select only the columns I needed to copy into an Excel spreadsheet. This feature saves a lot time and frustration if you have to parse any text files. You can write all the parsing logic using a scripting language such as Perl but SlickEdit provides most of those functions with its Macro feature.
. I didn't test this feature extensively, but it will be useful if you use regular expressions (Regex). Using Regex Evaluator, you can dynamically create regular expressions and validate them before actually using the expressions in your code.
. The FTP feature in SlickEdit is very helpful if you need to transfer files to a remote computer on the network or on the Internet. I was able to copy the Web application WAR file from my local machine to a Dev
server on my network without having to open a separate FTP client or transfer the files from a command line.
File Differencing (DIFFzilla)
. You can compare two files using SlickEdit's File Difference feature. Select the Tools> File Difference menu option to open the DIFFZilla window, which lets you select two versions of the same file or two different files to compare (see Figure 4
). Additionally, you have the option to compare multiple files in a directory. You can select typical file-compare options such as ignoring trailing spaces, not comparing new line characters etc.
I usually run the Beyond Compare
file comparison tool, but I found DIFFZilla to be very intuitive in showing the differences in the files. In addition to displaying the file differences the SlickEdit File Diff tool also lets you merge code from two files to the other and save the files individually. You can see how visually intuitive the file difference window is and how easy it is to merge the file changes.
|Figure 4. Comparing Files: The figure shows two versions of the test servlet class being compared.|
SlickEdit integrates with two of the popular IDEs through its Eclipse Plugin and SlickEdit Tools for Microsoft Visual Studio 2005 to help increase the productivity of Java and Microsoft developers respectively. I haven't tried these tools but they should enhance the developer productivity whether he/she is working on a Java project (using Eclipse) or a .NET project (using Visual Studio). The plug-in tools do not come with SlickEdit, but they are available as separate products.
SlickEdit's technical support is excellent. I submitted a list of questions regarding the project configuration and within minutes I received a case number for my e-mail request. The support group followed up with an e-mail containing responses to my questions. The responses were exactly what I was looking for and I was able to resolve the project setup issues and move forward with the application development.
Overall, I really liked SlickEdit tool for its Java code editing and refactoring features. Its integration with a source control system was a big plus for me. I was able to create, modify and edit several different file types required in a typical Web application without having to switch between different IDEs or text editors. With its "Code Quick, Think Slick" motto, SlickEdit provides a developer-friendly code editor suitable for creating, manipulating, and transferring multiple source file types for both enterprise application development and deployment.
One cool thing about SlickEdit is that it provides several code templates you can use to add new features to your workspace. You can also add your own templates (much like custom plug-ins in Eclipse) to enhance the feature set and customize the product for your own needs.
This tool also provides a very good interface to write and execute JUnit test scripts from within the editor which will be a great help for those who follow TDD-based application development.