Open Development Platform

Eclipse Platform

Subscribe to Eclipse Platform: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Eclipse Platform: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Eclipse Platform Authors: Janakiram MSV, Ken Fogel, Marcin Warpechowski, Michael Meiner, Liz McMillan

Related Topics: ColdFusion on Ulitzer, Java EE Journal, Eclipse Platform

CFDJ: Article

CFEclipse for ColdFusion Developers

CFEclipse is a community project that builds on the open source Eclipse framework

CFEclipse is a community project that builds on the open source Eclipse framework to deliver expert, code-centric developers a new option for ColdFusion development. This article explains what CFEclipse is, gives a bit of the project history, shows off some key features, and explains how you can get involved.

Requirements
To complete this tutorial you will need to install ColdFusion MX 7 or higher recommended (any version will work). For a trial download go to: Trial Download. To buy go to: To Buy

Prerequisite Knowledge
Java knowledge helpful but not necessary.

What Is CFEclipse?
To understand what CFEclipse is, you must first learn about Eclipse. Eclipse (www.eclipse.org) is an open-source framework for creating Integrated Development Environments (IDEs). Eclipse can do much more than create IDEs, but this article focuses on the IDE aspect.

Eclipse by itself doesn't have any ability to edit or compile any type of file. It doesn't do much of anything except load plug-ins. The power of Eclipse comes from its wide array of plug-ins. Eclipse's most popular plug-in is the Java plug-in, which gives Eclipse the ability to edit and compile Java files. The Java plug-in is so popular that people mistakenly think Eclipse is a Java IDE. However, it is, in fact, an anything IDE.

Eclipse has become one of the fastes-growing IDEs in Europe, Asia, and North America. (See "Eclipse Use Grows by More Than 75% in Europe, Asia and North America": www.businesswire.com/cgi-bin/f_headline.cgi?bw.051004/241315336.) It is the basis for IBM's WebSphere Application Developer IDE, and plug-ins exist for many servlet containers and J2EE servers. Recently Macromedia announced Flex Builder 2, a completely new IDE for the Macromedia Flex Framework - and it is based on Eclipse. There are plug-ins for almost any language you can think of, Web-based or otherwise.

CFEclipse is a plug-in that gives developers the ability to author and edit ColdFusion files from within the Eclipse environment. CFEclipse provides Eclipse with an outline view, a CFC (ColdFusion component) view, code completion (code hinting), syntax highlighting text editors for CFML and CFC files, and many more ColdFusion-specific features.

One thing CFEclipse does not have is WYSIWYG ability. Its complete focus is on writing ColdFusion code (so-called hand coding) and building tools that help you write code. If you do a lot of visual or page-layout development - for instance, if you rely heavily on drag-and-drop tools, wizards, or the Design view in Macromedia Dreamweaver - CFEclipse may not be the tool for you.

A Brief History of CFEclipse
The CFEclipse plug-in was first released in January 2004, which makes the project almost two years old. The initial release was very basic. In fact, the project name was the Basic ColdFusion Eclipse Plug-in.

Since its first release, CFEclipse has undergone many improvements and feature additions by developers such as Oliver Tupman, Stephen Spike Milligan, Mark Drew, and many others.

At least 20 people have contributed code to the CFEclipse project, and the number of people who have helped market, design, support, and/or steer the product are far too numerous to list here. CFEclipse is truly a community effort.

In June 2005, Macromedia announced that they would become an active supporter and contributor to the CFEclipse project as well. They are currently involved in contributing code and offering understanding of the ColdFusion developer base to help take CFEclipse to the next level in its support for ColdFusion MX 7 and beyond.

Key Features in CFEclipse
Now you know about the history of CFEclipse and where it comes from, but how does it benefit you, the developer? Well, the first major benefit in using CFEclipse is Eclipse itself.

Many companies use more than one language for their Web application development solution: Java, PHP, C#, J2EE, ActionScript, CFML, JavaScript, CSS, MXML - the list goes on. It's the nature of the Web to use more than one language at a time, and one of the benefits of Eclipse is that you can use any language that has a plug-in.

Multi-language environments are becoming increasingly common for ColdFusion developers - with ColdFusion appearing more often in the enterprise due to the ColdFusion J2EE underpinnings and its rapid application development ability gaining more and more attention. Using Eclipse and its wide assortment of plug-ins gives you the power to code in almost any language you need.

CFEclipse has one of the most advanced syntax highlighting capabilities of any ColdFusion editor. Not only does it color-code normal HTML and ColdFusion blocks, it also helps you write CFScript, JavaScript, CSS, and SQL query blocks (see Figure 1).

The editor has bracket and brace matching, auto bracket, and quote completion in JavaScript and CFScript blocks. Also, CFEclipse was one of the first ColdFusion-specific editors with the ability for code folding - a new feature called code collapse/expand in Macromedia Dreamweaver 8.

CFEclipse provides a few other ways to view your ColdFusion code. In addition to the code editor in CFEclipse, you can view your ColdFusion code through the methods view and the document outline view.

The document outline view lays out your document in a tree view. The innovation with document outline view, however, is that you can filter the view based on ColdFusion tags. For example, you could filter a 16,000-line file to show only the queries within the document. It is a helpful feature when working with legacy code - what I like to call code spelunking.

The methods view, in contrast, is perfect for a quick outline of a CFC (ColdFusion component). This view is great when writing code in the Mach-ii or Model Glue frameworks. The method's view lists public, private, and remote methods with both input and output information for each method. You can also filter the methods view based on method access (see Figure 2).

In addition to the advanced syntax highlighting, code completion, code folding, and filterable outline views, CFEclipse supports snippets (small pieces of reusable code). CFEclipse uses its own snippet format but can also natively use Dreamweaver snippets. Sharing snippets between Dreamweaver and CFEclipse improves continuity and code sharing between those on your team who focus more on design and layout and code-centric programmers.

The last few benefits I mentioned are not based on the product or feature set but more on the way the community developed the plug-in. The plug-in is open source. This gives you the ability to download and save the source code or - if you are Java-savvy - fix bugs immediately without waiting for someone else to fix the problem.

How to Get the CFEclipse Plug-in
If you would like to simply use CFEclipse, you can download the plug-in and get information at www.cfeclipse.org. If you are a developer and would like to help with coding CFEclipse, you can find the source code and collaborate with the developers at cfeclipse.tigris.org. At present, this site is also where all bug reports and developer mailing lists are located.

Because of the great community welcome and effort for CFEclipse, there are many sources of information on CFEclipse. Just type CFEclipse into Google and you'll find many sites that have tips and tricks. Dopefly at www.dopefly.com/pages/cfeclipse.cfm is a great example.

What You Can Do to Help
You don't have to be a Java developer to help with the CFEclipse project. While we like coding help, there are many other things that non-Java coders can do. For example, we are in desperate need of documentation in many languages. If you use CFEclipse or catch on quickly, answering questions from the newer participants on the mailing lists is also a great way to help.

If you know Java and would like to help, submitting patches is the best way to get committer status. If you have an idea and want to add a feature, let us know so that committers won't step on each others' toes.

If you'd like to help, Java coder or not, join the mailing list on cfeclipse.tigris.org and say you'd like to help. It might take us a bit to get back to you but we would love to hear from you.

More Stories By Rob Rohan

Rob Rohan has been a developer and architect for over seven years. Rob is a YellowBadger.com consultant from the Bay Area and founder of the CFEclipse, Treebeard, and Neuromancer open source projects. He teaches Macromedia products through Shcoonertech, and flies through the air with the greatest of ease.

Comments (1)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.