About a month ago I received an e-mail from Roman Villarreal, founder and CEO of Lumenbrite Training, an Adobe Authorized Training center. Roman was writing an article for the Adobe Development Center and he wanted to mention my name in the article and link to my CFEclipse snippets. Well, Roman's article is now out and you should give it a read if you are new to Eclipse or CFEclipse, or if you need help with any of the following:

  • installing CFEclipse
  • configuring your development environment
  • setting up snippets
  • integrating with a SnipEx server
  • using CF8 extensions
  • using the Tasks panel
  • using RDS and the Visual Query Builder
  • using CFC Wizards


One of my developers came to me this morning and exclaimed: "Aaron, I hate Eclipse and I hate this project!" I was stunned by the blasphemous language and knew I needed to get more information in order to fully understand the situation. While making great progress on an important piece of code Eclipse completely crashed and he lost all his work. Restarting Eclipse brought his Workbench back but the template he was working on did not include his latest saves. He decided to take a break from the project and work on other tasks

As I explained to him, Eclipse has a built-in history manager that keeps track of all your saves. You determine how long to keep files on your system, the number of saves to track, and the maximum allowable file size for each individual history item. With these settings in place, retrieving previously saved versions of files is simply a matter of right-clicking the file, and selecting Compare With > Local History or Replace With > Local History. Regardless which you choose, Eclipse displays a list of each saved instance of the file including the date and time. You can select any version you want and compare that version to the current version on disk. If you choose Replace With - Local History, you can replace the current version with any previous version from the local history. The Local History is no replacement for source control management, but it's definitely useful in certain situations.

Now, relax, grab a coffee, and get back to work!


Throughout the parts of this text I've used TortoiseSVN to perform all repository actions. This was mainly due to the simplicity and ease of use TortoiseSVN affords. TortoiseSVN is also handy when versioning assets that aren't code-related like spreadsheets and general documents. When working with code - ColdFusion for instance - there are other Subversion clients that work just as good as TortoiseSVN and don't require you to leave your development environment to request repository updates or commit changes. One such tool is Subclipse which is built on the open-source Eclipse platform. Eclipse is an extremely popular Java-based programming tool that works with just about every modern programming language. I use Eclipse and Eclipse plugins like CFEclipse on a daily basis to manage my code. In the this section, I discuss installing, configuring, and using Subclipse, the Subversion plugin for Eclipse.

Continue Reading


I was pilfering through the net looking for information on developing for the Mac menu bar in Xcode when I came across a pretty cool article on Apple's Web site. If you are at all interested in programming Java and you want to learn more about the Eclipse platform you should check out this article ( It's all about developing Java applications in Eclipse. It covers the Java perspective, Xcode, and XSwing.


Testing CF Applications with John Paul Ashenfelter
John Paul Ashenfelter does it again. Yesterday's Agile ColdFusion session was truly a gem. Today, John Paul (I'm not sure if this is what he prefers to go by, but I'll run with it for now) gave another talk on testing CF applications. If you read my post from yesterday you know part of John Paul's Agile preso involved a discussion on the importance of testing your CF applications. Today, he took that discussion to a whole new level.

Continue Reading


I've been spending a fair amount of time lately getting acquainted with the Subclipse Subversion plugin for Eclipse. Me and the rest of the folks in the user group are using a Subversion repository to manage the implementation of our new Web site.

Through using Subclipse over the last few days I've found myself constantly using the Subversion Console tab and the Pending SVN Operations tab. The Console tab shows all the command-line operations initiated each time you use one of the Subclipse menu options to update your local files or commit changes to your repository. Knowing what underlying commands are generated and the results therein is very useful in understanding how things work. The Pending SVN Operations tab is viewable by right clicking your CFEclipse project and selecting the Team->Show Pending Operations option. This view will present you with a list of local files that you have altered and that need to be committed to the repository. Simply right-clicking the files listed and selecting Team->Commit will let you submit your changes and comments to your repository.

I'm still trying to figure some things out, so if anyone has similar tips or tricks, please pass them on!


The tutorials section of my Web site is getting rather dated so I'd like to freshen it up a bit. Fortunately, a few people have requested certain tutorials/articles, like a new ColdFusion Login tutorial that focuses on ColdFusion MX 7's Application.cfc component. I'm working on this one and hope to have it up on the site by the end of this weekend. I'm also writing a detailed series of blog posts focusing on getting Apache, ColdFusion, MySQL, Eclipse (and CFEclipse), and Subversion running on OS X. However, I'm curious as to what other tutorials the general community is interested in. So, shoot me an e-mail or post in the comments and let me know what you'd like to see.


A few months back I bought a Powerbook and made the switch from PC to Mac. Motivation for the switch was provided primarily by my wife's level of productivity with her 12'' Powerbook. She had been wanting her own laptop instead of hijacking my Alienware when she wanted to do something. I surprised her with the Powerbook and upgraded my home network to wireless. Watching my wife enjoy her Powerbook in the den, in the bedroom, and on the back deck made me a little bit jealous. My Alienware was a really nice laptop. It was a desktop replacement, and served me well for 2 years. However, there are some things that the Powerbook line (and Mac's in general) do much better than any Windows laptop. I decided that I wanted my own Powerbook and I haven't looked back since. It's been, to-date, the best computer I've ever owned!

Switching to the Mac did provide some interesting options in terms of Web development. For one, I was forced to change what code editor I use to write ColdFusion, JavaScript, HTML, et al. I'm originally a ColdFusion Studio junkie. I loved the editor because it did what I needed it to do very well. On the flip-side, it didn't do a bunch of crap that I didn't need or want it to do. When CF Studio was "phased out" I switched over to HomeSite and was just as happy. But in making the switch to a Mac I didn't have the choice of using HomeSite. So I installed the uber-marketed Dreamweaver MX 2004. This wasn't the first time I used DWMX. In fact it was probably about the fourth. And again, I just couldn't get comfortable with it. I really like the CSS features that DWMX brings to the table. The CSS panel in general, the Relevant CSS panel, and simply creating CSS code is pretty easy in DWMX. But it's so slow!! And there are several things that I can't stand about it. But this isn't a DWMX thread...

I had heard about Eclipse for months but never looked into it since I was at the time still on a PC and using HomeSite. Moving to the Mac gave me the opportunity, or perhaps a real reason, to look at Eclipse. I've been using the editor, coupled with CFEclipse for about 2 weeks now. There are a lot of things to like about Eclipse. First and foremost it's FREE. I'm still finding this fact hard to believe since Eclipse is so feature-rich. Secondly, it runs on a slew of platforms including Windows, Linux, Solaris, AIX, HP-UX, and Mac OSX.

Eclipse uses some different metaphors for developing that I wasn't privvy to. It uses the idea of a workspace where all your projects files are stored. This, in a way, is synonomous with Dreamweaver "sites" with one extra storage level. You can have several differenet workspaces but only one default. A workspace is essentially a physical location on your machine where you want to store your projects. The projects can be Java projects, ColdFusion applications, or anything else you can think of. Next, Eclipse uses something called "perspectives." Perspectives are basically IDE layouts designed for specific types of code or projects. The CFEclipse plugin is an example of a perspective. It provides several panels in the IDE that relate specifically to ColdFusion development. For example, there's the CFC Methods View panel. This is basically a CFC explorer that shows all CFC's rolled into a CF project. There's an Outline panel that shows the breakdown of an individual CF template by major code block. For instance, each block of CFSCRIPT you write will get an entry in the Outline panel. Next, there's the code window itself. With the CFEclipse plugin installed you get the benefit of syntax coloring, tag completion, tag inspection, and toolbar buttons for common ColdFusion elements like comments. As with Dreamweaver and HomeSite you can also instruct Eclipse to show line numbers in the gutter and you can make use of code snippets. There are some additional features of Eclipse that really stood out immediately. Take the line modification highlight for instance. As you change parts of your template Eclipse puts a little mark in the gutter letting you know which lines have changed since you last saved the template. As soon as you save the template, all those marks go away. Awesome! Did I mention Eclipse integrates with CVS? At least, that's what I've read. I need to learn more about this feature though.

What about things I don't like? According to some Eclipse has a large footprint on the machine when running. This hasn't been my experience at all. I've got Eclipse up right now with several CF templates open and it's taking up 844 KB of real memory and 27.19 MB of virtual memory. That's nothing considering DWMX 2004 is occupying 58 MB of real memory and 291 MB of virtual memory. And I don't have one document open in Dreamweaver. There are two things I'd like to see in Eclipse one of which is present in nearly every application on Mac and Windows. In Eclipse you can't highlight a code block and then use your mouse to drag and drop the code to another location in the document. This behavior is something native to just about every code editor I've ever used. It's also something you can do in just about every other text editing program on Mac and Windows. So why not in Eclipse? I'd also like to see a code collapse feature in Eclipse. Being able to collapse an entire CFFUNCTION block or blocks would be extremely helpful in targeting the area of the template you need to focus on. Code collapse would be useful everywhere no matter what type of code you are writing. Code collapse is something a lot of people will be more aware of near the middle of 2005. Trust me. ;-)

All-in-all I'm impressed with Eclipse and CFEclipse. Not only have I made the switch from PC to Mac, but I've also made the switch from HomeSite to Eclipse. If you use Eclipse I'd love to hear about your experience. I know I've got a lot to learn about the editor so if you have some tips or suggestions for me I'd love to hear those too. Drop me a line at trajik210 at Google mail.