3 May 2011
This article assumes some prior exposure to ColdFusion.
Adobe released the first version of ColdFusion Builder, the long-awaited ColdFusion-specific integrated development environment (IDE), to the development community back in March 2010. Now with the latest version, ColdFusion Builder 2, developers have even more features, functions, and tools at their fingertips.
For many ColdFusion developers, Dreamweaver has long been a development tool of choice due to its integration with the ColdFusion language library and code assistance.
In this article, you will discover some of the features and tools available within ColdFusion Builder that will help to increase your productivity as a developer and go some way to make your life easier, such as:
As well, this article demonstrates that the transition from Dreamweaver to ColdFusion Builder is incredibly simple, easy, and rewarding.
The ColdFusion Builder IDE is based on the Eclipse development platform, a highly extensible development application with a wide collection of plug-ins available to download to assist in enhancing your working environment and development workflow.
You can install ColdFusion Builder in one of two ways:
The option you choose to install will depend on whether you currently use Eclipse as a development platform.
When installing ColdFusion Builder as a standalone product, you also get a full installation of Eclipse ”under the hood.” This option is perfect if you do not already have Eclipse installed on your machine. If you do have Eclipse already running on your machine, you can choose to install ColdFusion Builder as a plug-in into the IDE, which will enable the full support and tools offered with the stand-alone installation, and will simply add a new perspective to your workbench for your ColdFusion development work.
Because ColdFusion Builder comes bundled with Flash Builder 4, and is also based upon the Eclipse platform, the installation can be integrated to combine a comprehensive development environment for your rich Internet application projects.
One of the benefits of ColdFusion Builder being written on an Eclipse-based platform is the extensibility offered for creating custom perspectives and layouts.
Perspectives, similar to the workspaces available in Dreamweaver, are specific screen setups, containing the panels, toolbars, and windows in a particular position or format within the editor that best suits the developer.
When using Dreamweaver, you can select from one of the pre-defined Workspaces such as Application Developer, Coder, and Coder Plus, or create and customize your own. ColdFusion Builder offers the same level of control to allow you to create and build your perspective to provide you with the tools you need at hand to optimize your workflow and enhance the way you work.
By default, ColdFusion Builder contains two perspectives:
Defining your custom layout within ColdFusion Builder is incredibly easy to do. All views and windows within the application are tabbed. To move them around the workbench, simply click and drag the tab to the area you would like to place it. You can also rearrange the order of grouped tabs by dragging the tabs into your preferred order. The perspective will not revert to any default formation, so every time you use it, all views and windows will remain exactly where you put them.
One of the most useful visual aids in any IDE is the color formatting for code within the editor.
Within ColdFusion Builder, you can easily customize the code formatting colors to suit your needs and requirements by going to Preferences > ColdFusion > Editor Profiles > Editor > Colors. ColdFusion Builder also comes with a default Dreamweaver profile, which has some of the standard colors included. To enable this, go to Preferences > ColdFusion > Editor Profiles and select Dreamweaver from the Active Profile selection list.
ColdFusion Builder will automatically open a perspective based upon the association of an opened file, meaning that the perspective will change and display relevant panels and toolbars to assist you to support the current task at hand.
Typically, all development work is undertaken within the Development perspective. The application will automatically switch over to the Debugging perspective when you run debugging.
ColdFusion Builder comes with the built-in ability to interact with ColdFusion server instances, whether they are on a remote server or on your local development environment.
In a similar process to setting up a new site in Dreamweaver and assigning that site to a local or remote environment, we can set up a ColdFusion project and assign it to a specific ColdFusion server.
However, unlike Dreamweaver, by assigning a server instance to the project, you are able to easily view the preview page directly within ColdFusion Builder without previewing in an external browser, utilize the debugging features, and have quick and easy access to data sources and server management features, all from within the IDE.
Creating a new ColdFusion server connection is very easy to do, and you manage it through the Servers tab at the bottom of the IDE. If this is not visible in your current layout, go to Window > Show View -> Servers. Use the following steps to set up a connection to the local development server on your machine:
ColdFusion Builder can now access the local ColdFusion development server. This opens up a level of control and improved workflow that wasn’t available in Dreamweaver.
A superb example of the benefits of having tight integration is the ability to open up the ColdFusion Administrator and Server Monitoring tool directly within the IDE itself. No need to waste extra clicks and time opening up a browser to navigate there yourself. Thanks to ColdFusion Builder, you are now able to instantly open up the Administrator or Server Monitor with two clicks of the mouse.
Right-click any server listed in the server panel to display a context menu as seen in Figure 2 (above). If you are using a JRun server instance, you can also to easily start/stop and restart the server from here. Selecting Launch ColdFusion Administrator option, the IDE will expand a new pane, inside of which the Administrator screen displays. There is no need for external browsers; you control all of it from within the IDE, thereby saving you time if you need to change settings, turn on debugging, or check data source references, for example.
IDEs and coding utilities share many common features and functions, typically those required as standard to make it a usable application to help the developer deliver applications and to assist in the development life cycle.
ColdFusion Builder shares many of these common features, which you would expect from any professional IDE, namely:
There are, however, many extra features available as standard in ColdFusion Builder that exist only in ColdFusion Builder at this particular moment in time, and it is these extra features that truly define ColdFusion Builder as the IDE for any serious hardcore CFML developers.
Most, if not all IDEs, have code assist as a feature—this is the ability to assist the developer when writing tags and functions by hinting any attributes, arguments and parameters, as well as hints on functionality and purpose.
This feature is an incredibly useful tool to aid with development. However, for most IDEs that is where the integration with the code and syntax ends; reading from the pre-determined library of tags and functions. ColdFusion Builder takes this one step further, and is the only CFML editor to offer you the benefit of Code Insight.
Code Insight is an incredibly impressive addition to the IDE, and certainly helps to improve productivity and provides valuable assistance to the developer. Code Insight is instantly visible when instantiating a ColdFusion component (CFC) in your code. After typing the name of the new object in the editor, for example objFacade., a dialog box will appear that lists all non-private methods within the component, complete with the method’s arguments, as seen in Figure 4 (below).
Code Insight also extends itself to reading variables from a specific scope. For example, when you type session. or application., Code Insight will once again display the dialog containing all available variables within those scopes. Inevitably, this seemingly small but obviously powerful functionality helps to improve productivity and to streamline the way the developer works to obtain data by helping to put as much information at your fingertips as possible.
Watch a Code Insight video (3 Minutes, MOV) to see Code Insight in action.
ColdFusion Builder really steps into action here to assist with SQL queries and database interactions through the RDS services. You now have quick access to the SQL Editor from a context-menu option, which is a very powerful tool with the ability to assist with table names, columns within tables and SQL syntax.
To open the SQL Editor window, simply right-click within the open Editor/Code window, and select SQL Editor from the context menu.
You can run the query and test it so that it returns data within the same dialog window. Once the required statement has been written, the editor will place the completed SQL into the open page within the editor.
The SQL Code Insight will also kick into action if you are typing your SQL statement between a <cfquery> tag block, assuming your RDS access was specified when setting up your server connections within ColdFusion Builder.
Refactoring, or the ability to successfully rename files, functions and methods throughout an entire project or application without damaging or breaking the underlying code and functions, is not only a mouthful, but also a highly important part of code management.
Guess what? ColdFusion Builder has refactoring built-in as a standard feature. This allows you to quickly and easily rename variables, methods, and file names throughout your project or application.
With this feature you also get the benefit of a clear visual list of all changes that will be made, and which files will be affected as seen in Figure 6 (above). You can now safely alter method names across the board without the worry of find/replace messing up your code.
How many times as a ColdFusion developer have you had to test applications? If you said none, you’re either a genius or you’re fibbing. It’s something we’ve all done and do; debugging is an important part of the development life cycle. ColdFusion Builder makes debugging your CFML applications even easier thanks to the built-in debugging perspective.
The CFML Debugger allows you to watch and evaluate variables and expressions line by line as they are being run. You can easily step into code, including included files, or templates, as well as components and the contained methods, which gives you a greater level of control and understanding over what’s happening in your code as it executes. Setting breakpoints periodically throughout the code also lets you track down any problem areas of code.
This comes as standard with ColdFusion Builder and is another perfect example of how the IDE has been fine-tuned for CFML developers, and how ultimately it can increase your productivity and optimise your performance as a coder.
As a development interface, it is important to include FTP functionality, especially to interact with remote servers for whichever reason.
ColdFusion not only supports standard FTP access, but also SFTP (Secure File Transfer Protocol) and FTPS (File Transfer Protocol Secure), both of which are a secure variation of the standard FTP service, encrypting any files transferred to and from the server.
Extensible through CFML
One of the most exciting new features in ColdFusion Builder is the ability to extend the IDE using CFML. It makes sense—it’s an application aimed primarily at CFML developers, and so the ability to create custom extensions and enhanced functionality in their native language is not only empowering, but opens up the doors for a plethora of extensions and plug-ins to install into the application.
Indeed, at this time of writing, there are a total of 39 ColdFusion Builder extensions on riaforge.org alone, all of which are free, open-source extensions written by other developers for distribution amongst the community.
Some of the fantastic extensions available to download include:
Benefits of using an Eclipse-based platform
As mentioned at earlier on in this article, ColdFusion Builder is based upon the open-source Eclipse IDE, which itself offers many features that will increase your productivity as a developer.
Version control and tracking file differences
Eclipse-based platforms offer an incredibly useful tool in the form of local history and file comparison. Perhaps you have been working on a particular file and need to refer back to the original version of the file to check code compatibility or to ensure nothing was accidentally deleted.
Simply right-click your file in the IDE, go to the Project or File view, and select Compare With > Local History and select the automatically-saved version to compare against, the results of which are shown in Figure 7 (below).
Importing an existing project into ColdFusion Builder
So, you’ve been developing your ColdFusion project in Dreamweaver and want to move over to use ColdFusion Builder. Importing an existing project into ColdFusion Builder is incredibly easy, and ensures that your project contents are available within your new development environment, ready for you to continue developing world-class applications.
Your ColdFusion project has now been imported into ColdFusion Builder and you are all set to continue your development within your new IDE.
There are many more features and functions available within ColdFusion Builder that are beyond the scope of this article. Otherwise you would be reading a 75-page document outlining each and every one, for they all deserve attention for their own merits and benefits.
The bottom line is this: I used to be a Dreamweaver user. The application is superb at what it does, and it served me well for many years. I still use it occasionally when working on non-CFML projects, but the key words here are “used to.” I switched over to ColdFusion Builder at the time of the ColdFusion beta releases, and have seen the IDE develop into an even greater tool for ColdFusion developers up to the point of the initial public release. I haven’t looked back since. It contains everything I need on a daily basis, plus much more I have yet had a chance or excuse to experiment with.
If the core of your work revolves around DOM manipulation and developing sites or applications that require you to have an IDE with more of a focus on visual editing and graphical elements, Dreamweaver is still the tool for you. If, however, you are a ColdFusion developer who deals with CFML code and database interactions on a daily basis and minimal to no requirement for WYSIWIG editing, then ColdFusion Builder is certainly the right tool for you.
The sheer amount of functionality available and the ability and the control it gives you over not only the CFML code but also SQL, databases through the RDS, extending the IDE itself and controlling the servers means that ColdFusion Builder really provides a CFML developer with the correct tools to maximize their development time, and enhance productivity and performance. Take the next step and try out ColdFusion Builder (the trial version). The only way to discover the benefits is to try it and experience the effects for yourself.