I'm sitting in JFK airport in New York and my flight back to Raleigh was cancelled due to the storms on the east coast. Fun stuff. So I thought it might be a good time to pull a "Peter Bell" and churn out a couple of blog entries on my new MacBook.

Last week an interesting and heated discussion was going on at the CF-Talk list regarding ColdFusion code editors. I chimed in with a response that will probably surprise no one who reads this blog: I trumpeted CFEclipse. What surprised me was the range of responses the topic of CFEclipse had among the broad CF-Talk crowd. Some people agreed with my praise for it. Some people were openly uncertain. Not too surprising there.

No, the surprise came from the number of people who either had negative feelings about CFEclipse or who openly bashed it. And once I got into deeper discussions with these folks, one theme emerged: most detractors of CFEclipse have deep misconceptions about how it works and what it can do.

Some lamented that lack of any site-wide search capabilities. Others derided the fact that you can only intent code one line at a time. Uncompelling snippets, no easy way to test some code quickly without creating projects, lackluster tag editing/insight, or undesired keyboard shortcuts.

Anyone who uses CFEclipse already will instantly recognize that all of these complaints are actually non-issues. There is full site wide search. You can indent blocks of code with no problem. The snippets are extremely powerful. The scribble pad makes quick tests a snap. It has plenty of tag editors and tag insight for all tags and functions (even CF8 already). And the keyboard shortcuts can be extensively customized.

So the majority of the issues people seem to have with Eclipse are not actually issues at all. In this regard, it appears that fans of CFEclipse need to blog or present more on this topic to raise awareness, because this is a shame.

However, there were a few concerns that are more substantial:

One is the memory footprint of Eclipse itself. I run MyEclipse, FlexBuilder, and Aptana alongside CFEclipse and it will routinely use about 150 Mb of physical RAM. My large number of plugins is probably on the very high end, but even so, many people seem to think 100+ Mb of memory usage is too much.

I'm not sure if that is a vocal minority or not, because I simply didn't think anyone but a tiny percentage of ColdFusion developers are working on systems with less than 1 or 2 gigs of RAM. RAM is so cheap now (I found a 2 Gb stick for $68) and I have a hard time grasping why anyone would still limit themselves to 512 Mb. However, I suppose it can't be denied that Eclipse does eat up a good bit of RAM. If someone truly has no way to get more RAM this is indeed a showstopper.

Another common complaint was the fact that you can't just click on a file in your file explorer and open it in Eclipse. This is also a valid observation, but I was somewhat surprised by how many people were bothered by this. For me, when I'm working, I'm working. Eclipse is open, and my workspace and projects are all right there. If I need to open a file, I open it from here. It's rare than I just unexpectedly need to open a single file. Am I alone on this or am I unusual and this limitation of Eclipse is really a problem? I'm also not entirely sure why this limitation exists. Is it because Eclipse doesn't know which project or workspace you need to work with if you open a file outside of it?

This relates to another seemingly major problem: the fact that Eclipse pushes its approach of workspaces and projects upon us. I realize this is primarily a carryover from its Java roots, where most projects require external packages, build paths, and other settings. However, with the ability to integrate with Subversion and the integration with ANT that can be leveraged at the project level (like automatically running unit tests when you save a file), I don't really mind this setup. To me it was just a change in approach that took a little time to get used to, but only a little.

Finally, a lot of the issues seemed to be related to the learning curve associated with Eclipse. There's no doubt that it is more difficult to set up, configure, and update than a commercial package like Dreamweaver. Lots of panels, update sites, plugins, configuration options, and setup processes. I know Mark has an install of Eclipse with CFEclipse pre-configured, and that certainly helps, but it seems like people need more help. The CFEclipse TV videos that are available also help a lot, but many thread participants weren't even aware they existed. Again, do you think fans of the IDE should do more to raise awareness, or do the new users bear some responsibility for taking more time and effort in learning about the help that is already available? And further, is this a case of "you can lead a horse to water but you can't make him drink?"

Time permitting, I'll try to record a Connect presentation on setting up and/or using CFEclipse. My goal will be to try to show anyone who misunderstands what the IDE can do what its real capabilities are and how it's actually quite easy to use once you've spent some time playing with it. It really seems to come down to the fact that people are comfortable doing things they way they always have, and are averse to change and the uncertainty it can bring.

Comments Comments (18) | del.ico.us del.icio.us | Digg It! Digg It! | Linking Blogs Linking Blogs | 11008 Views

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)

  • # Posted By Ilya Fedotov | 7/2/07 11:13 AM

    You need to add one more problem with CFEclipse, UNDO keeps messing up the code. I am not sure if it's Eclipse functionality or CFEclipse, but it's pretty bad. I do use it though.

  • # Posted By Doug Arthur | 7/2/07 11:16 AM

    You're right, I think the fans of CFEclipse should do more to raise awareness and o help those that aren't familiar with it as much. Maybe there should be a list dedicated to CFEclipse that the elite help newbies and answer ANY question (Maybe there already is one?). Because most anything you can do in another editor can be customized to be done in CFEclipse. Eclipse can be a very powerfull tool withthe right person at its controls.

    - Doug

  • # Posted By Brian | 7/2/07 11:20 AM

    @Ilya - Not sure what's going on there because I use undo all the time with no problems. Are you using an older version of Eclipse or CFEclipse?

    @Doug - Yes, there is a list for CFEclipse users, there has been for years. It's listed right on the CFEclipse web site under the Support tab: http://groups.google.com/group/cfeclipse-users. I agree that once you get the hang of it, the IDE is extremely powerful.

  • # Posted By Justin Treher | 7/2/07 11:26 AM

    Something that made me raise my eyebrow the other night was this.

    I was doing a search through the blogCFC codebase of the entire blogCFC folder searching for 'rb' . For some reason eclipse would not find the rb in the application.cfm file. I even tried searching directly in the file for it with the search function and it didn't work. The find function found it, but search would not.

    I even tried it again after restarting eclipse and it didn't find it. (even though it found a couple of hundred other matches in the folder). These sorts of bugs concern me as I rely on the search function quite a bit. I just happen to know there were some in the application file.

    Oddly enough, I was copying and pasting from one open file to another that same night and eclipse would only paste 75% of what I had copied. I tried and tried. It just wouldn't do it.

    I still use it, but eclipse and cfeclipse are not very user friendly in comparison to Dreamweaver unfortunately. In addition, site management is something I'll always miss from Dreamweaver.

  • # Posted By Mike | 7/2/07 11:41 AM

    One of the main reasons I simply cannot use cfeclipse is due to the lack of decent ftp support. I load up cfeclipse every 6 months or so hoping something has changed, but to no avail. FTP support is absolutely unacceptable and and mark should either fix it or take it out altogether.

  • # Posted By Raymond Camden | 7/2/07 11:46 AM

    Mike - what do you mean lack of FTP? CFEclipse supports FTP and SFTP. Did you use the "File VIew"? It lets you browse FTP servers or your local file system.

    This is also helpful for people who get bugged by the "It must be a project" thing. Just use the file view and you can browse anywhere. (Although in general you should work in projects.)

  • # Posted By Brian | 7/2/07 12:11 PM

    @Justin - I think you might be doing the search incorrectly. There are several settings such as selected resources, workspace, etc. If you have one file selected, for example, and the setting is on selected resources, Eclipse will only search that one file.

    @Mike - As Ray points out, there are several options for FTP. CFEclipse has FTP built in, as does the Aptana plugin.

  • # Posted By Doug Arthur | 7/2/07 12:22 PM

    Brian, can you list out the plugins you use? I'd be very interested to see which ones you're useing.

  • # Posted By Justin Treher | 7/2/07 12:23 PM

    I definitely had the whole folder selected (that's how I got a couple of hundred other results from the other files with rb aka researchbundle). It's just that one area it wouldn't search. I tried every single combo of settings, with whitespace, without, case sensitive, *, etc. Nothing worked. I did try searching just the file. It would find other things, but not RB. To be honest, it looked like it was stopping at the rb comment.

  • # Posted By Brian | 7/2/07 12:27 PM

    Sure. First I use MyEclipse which is a commercial set of plugins that costs about $30 and contains a huge number of useful plugins like a visual HTML editor, great XML editor, UML modeler, database support for all major vendors, and a lot more. http://www.myeclipseide.com/. Aside from that, I have installed: Aptana (with RadRails), FlexBuilder, Subclipse, and of course CFEclipse.

  • # Posted By Brian | 7/2/07 12:29 PM

    @Justin - If you want to send me some of those files I'd be happy to try to reproduce this. I've never had any problems with the search functions. If you like you can send them to brian428 then the at symbol yahoo.com.

  • # Posted By Doug Arthur | 7/2/07 12:38 PM

    Brian, those are pretty much the same plugins I use. The only one out of that list I don't know is Aptana. I also have used Altova XML Spy Eclipse plugin, and when work isn't paying for that expensive one I've used XMLBuddy. I haven't used MyEclipse lately only because the cost verse how much I actually used it when there are other plugins that are free. I'm thinking about getting it again though, it is a really usefull plugin.

  • # Posted By Joe | 7/2/07 12:46 PM

    I've figured out how to do project-wide searches, but sometimes I think it would be really convenient to search for a particular piece of code in a specific folder. If there's a way to do it, then I don't know how =P

  • # Posted By Sammy Larbi | 7/3/07 9:45 PM

    "Am I alone on this or am I unusual and this limitation of Eclipse is really a problem?"

    No, I work in the same way. The few times I ever find myself needing to open from the file and not from the IDE, it is for a quick change and I'll open up notepad++.

    I just don't know why you'd want to open up a full IDE for that - it'd take longer to load than to make the change.

    As for the memory, I haven't checked in a while, but I recall a time when my Eclipse setup was pushing 500 MB memory usage.

  • # Posted By Ryan Favro | 7/13/07 2:06 AM

    When I first took CFEclipse for a test drive in its early days I admit I was a bit put off by it. Having been a long time DW user, I found CFEclipse to be a bit on the sparse side lacking things that I cherished in DW such as the ability to inspect ColdFusion data sources via the Application panel. However about a year and a half ago two things happened that started to sway my opinion in favor of CFEclipse.

    Flex Builder 2 changed everything Daily use of FB2 exposed gradually exposed the merits of Eclipse. That exposure soon translated into a level of comfort I didn't have way during my first encounter with CFEclipse. I grew to enjoy Eclipse so much when developing Flex apps, that when I returned to DW to write the CFCs for those Flex apps I started to miss Eclipse.

    Finally the Flex Builder Extensions that shipped with Flex Builder 2 had solved my RDS problem with CFEclipse. The Flex Builder Extensions not only gave me the RDS access I desired but added some excellent time savers for creating CFCs based on ActionScript classes and visa versa.

    DW still has its place. In my opinion it is still a better tool for creating ColdFusion templates that are more visual in nature due to the Design window. Also maybe its just me but I find DW tends to be less then responsive at times, especially if left to idle for a while.

    At the end of the day I don't see it as CFEclipse VS. Dreamweaver. Rather its more like CFEclipse + Dreamweaver.

  • # Posted By jeff c | 7/13/07 4:06 PM

    I guess I'm still waiting for the big "a-ha" moment when I realize what I've been missing by not jumping on the cfeclipse bandwagon. I've actually encountered the undo bug mentioned above and it has totally hosed more than one CF template. That is a show stopper to me, and I really wonder if it's something I'm doing since it's something that doesn't seem to get any attention (other than in the comments to this blog). Anyway, I'd love to have some of the nifty tricks that come with the eclipse platform, but if you read through the comments on this blog, it's apparent that I'm not the only one having issues, and it seems like many of you are using it in spite of serious shortcomings.

    In the meantime, it's still me and my ColdFusion Studio 5. It just works for me. I guess that could be because I'm going on 7 years with it as my main editor. But it's starting to get awfully lonely here in CF Studio land. (Charlie, how could you???)

  • # Posted By Ben Hamilton | 9/17/07 6:44 PM

    I'm trying to use Eclipse with Coldfusion. I believe I have everything setup correctly (Coldfusion connected properly and running the debugger), yet for some reason whenever I attempt to open a .cfm file within Eclipse, it opens the file in Dreamweaver instead. I've tried everyway I know how and I cannot open the .cfm file in Eclipse! I'm running Vista Ultimate.

    Thanks for any help you can offer.

  • # Posted By Brian Kotek | 9/17/07 6:48 PM

    Due to the way Eclipse works, you can't set Eclipse to open when you double click on a file. You have to open Eclipse and then choose the file from the Navigator. Or, most people set up one or more Projects within Eclipse and then open files from there.