Welcome!

You will be redirected in 30 seconds or close now.

ColdFusion Authors: Yakov Fain, Jeremy Geelan, Maureen O'Gara, Nancy Y. Nee, Tad Anderson

Related Topics: Eclipse, ColdFusion

Eclipse: 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.


IoT & Smart Cities Stories
Intel is an American multinational corporation and technology company headquartered in Santa Clara, California, in the Silicon Valley. It is the world's second largest and second highest valued semiconductor chip maker based on revenue after being overtaken by Samsung, and is the inventor of the x86 series of microprocessors, the processors found in most personal computers (PCs). Intel supplies processors for computer system manufacturers such as Apple, Lenovo, HP, and Dell. Intel also manufactu...
Darktrace is the world's leading AI company for cyber security. Created by mathematicians from the University of Cambridge, Darktrace's Enterprise Immune System is the first non-consumer application of machine learning to work at scale, across all network types, from physical, virtualized, and cloud, through to IoT and industrial control systems. Installed as a self-configuring cyber defense platform, Darktrace continuously learns what is ‘normal' for all devices and users, updating its understa...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
OpsRamp is an enterprise IT operation platform provided by US-based OpsRamp, Inc. It provides SaaS services through support for increasingly complex cloud and hybrid computing environments from system operation to service management. The OpsRamp platform is a SaaS-based, multi-tenant solution that enables enterprise IT organizations and cloud service providers like JBS the flexibility and control they need to manage and monitor today's hybrid, multi-cloud infrastructure, applications, and wor...
The Master of Science in Artificial Intelligence (MSAI) provides a comprehensive framework of theory and practice in the emerging field of AI. The program delivers the foundational knowledge needed to explore both key contextual areas and complex technical applications of AI systems. Curriculum incorporates elements of data science, robotics, and machine learning-enabling you to pursue a holistic and interdisciplinary course of study while preparing for a position in AI research, operations, ...
CloudEXPO has been the M&A capital for Cloud companies for more than a decade with memorable acquisition news stories which came out of CloudEXPO expo floor. DevOpsSUMMIT New York faculty member Greg Bledsoe shared his views on IBM's Red Hat acquisition live from NASDAQ floor. Acquisition news was announced during CloudEXPO New York which took place November 12-13, 2019 in New York City.
Codete accelerates their clients growth through technological expertise and experience. Codite team works with organizations to meet the challenges that digitalization presents. Their clients include digital start-ups as well as established enterprises in the IT industry. To stay competitive in a highly innovative IT industry, strong R&D departments and bold spin-off initiatives is a must. Codete Data Science and Software Architects teams help corporate clients to stay up to date with the mod...
Tapping into blockchain revolution early enough translates into a substantial business competitiveness advantage. Codete comprehensively develops custom, blockchain-based business solutions, founded on the most advanced cryptographic innovations, and striking a balance point between complexity of the technologies used in quickly-changing stack building, business impact, and cost-effectiveness. Codete researches and provides business consultancy in the field of single most thrilling innovative te...
Atmosera delivers modern cloud services that maximize the advantages of cloud-based infrastructures. Offering private, hybrid, and public cloud solutions, Atmosera works closely with customers to engineer, deploy, and operate cloud architectures with advanced services that deliver strategic business outcomes. Atmosera's expertise simplifies the process of cloud transformation and our 20+ years of experience managing complex IT environments provides our customers with the confidence and trust tha...
With the introduction of IoT and Smart Living in every aspect of our lives, one question has become relevant: What are the security implications? To answer this, first we have to look and explore the security models of the technologies that IoT is founded upon. In his session at @ThingsExpo, Nevi Kaja, a Research Engineer at Ford Motor Company, discussed some of the security challenges of the IoT infrastructure and related how these aspects impact Smart Living. The material was delivered interac...