ColdFusion Thunder – It's all new IDE

Though ColdFusion Thunder is the next version of ColdFusion Builder (the last version was 2.0.1), it is like a new IDE because it’s a major re-write. Past versions of ColdFusion Builder were built on top of Aptana. I had noted some of the challenges in implementing ColdFusion Builder a couple of years back, when CFB 2.0.1 was released.

ColdFusion Builder (till version 2.0.1) used a very old version of Aptana. Aptana later re-wrote and improved their IDE and released it as Aptana Studio 3.  The integration points in Aptana Studio were changed to such an extent that integrating CFB in it would have meant re-writing it. So we decided not to base ColdFusion Thunder on Aptana and implemented many features that Aptana had contributed earlier – most notably editors for HTML, JavaScript, CSS and XML. This also meant CFML editor had to be re-written because it was based on Aptana APIs to integrate HTML, CSS and JS editors in it.

The task was huge and we, in the ColdFusion team, had been working very hard during the past two years to – first build all (or most) the features of CFB 2.0.1 in Thunder, and then to add some more features. If you have used ColdFusion Builder in the past, then you will see great performance improvements in all the editors in Thunder. Specifically you should see difference when editing large files. The memory footprint is also improved.

Here are some of the new/improved features in Thunder – 

  •  As mentioned above, improved editor performance
  • Built-in ColdFusion Server. Thunder installer gives you option to install ColdFusion Splendor (next version of ColdFusion Server) along with it. If you select this option, the installer will not only install the server, but will automatically configure it in the server manager view of Thunder. This would be very useful for local development.
  • Option to quickly import local server in the server manager view. You just provide server name (any user given name) and path to ColdFusion server installation folder. Thunder will read port number and RDS information to configure the server in Thunder.
  • Option to set background color for each element in the syntax color preference pages.
  • HTML 5 code assist in CFML and HTML files
  • Syntax support for new language features in Splendor
  • Code assist for new functions (including member functions) and tags in Splendor
  • Improved JavaScript code assist
  • Configurable editor toolbar. Aptana editors had toolbar in each editor with pre-configured shortcut options to insert text in the editor. Many had asked to make this toolbar configurable, i.e. options to add/remove shortcuts.
  • Collapse CFML function on file option. CFEclipse has this preference option and many had asked us to provide similar option in ColdFusion Builder
  • Linux support. Earlier versions could not run on Linux becuse of a licensing library we used which was not supported on Linux. We have replaced that library in Thunder.
  • Support for HTML5 mobile application development
    • Mobile Project Wizard. You can start the wizard from File->New->ColdFusion Mobile Project menu option.
    • Mobile Project Templates. My colleague Milan has blogged more about this.
    • Preferences to setup integration with PhoneGap Build server. Go to Preferences->ColdFusion->PhoneGap
    • Package mobile application by right clicking CF mobile project in the Navigator and selecting ‘Generate PhoneGap Build’ menu. Using this option you can create Android and/or iOS package of your mobile app.
    • PhoneGap Status view (at lower-middle) where you can see PhoneGap builds created by you. You can also download the builds from this view.
    • Project properties to select files to be included when packaging mobile app and also to set many PhoneGap properties and features. Right click on a CF mobile project and select Properties. Then go to ‘ColdFusion Mobile Project’ option. You will see tabs for ‘Resource Selection’, ‘PhoneGap’, ‘Inspect’ and ‘Miscellaneous’ options.
    • Option to debug mobile application. To debug an application, right click on it in the Navigator view and select ‘Debug As’->’ColdFusion Client Application’. This will launch the debugger. When you run you mobile application, the execution will stop at breakpoints that you had added in cfclient code. Note that if you want to debug packaged application, then you need to first set options in Preferences->ColdFusion->Client Debug/Inspect Settings. Then right click on a mobile project and select  PhoneGap Debug->Generate Debug Build menu option.
    • Options to inspect (using Weinre) packaged mobile application. Right click on a mobile project and select PhoneGap Debug->Generate Inspect Build option. Make sure you set URL of the Weinre server in the project properties before generating the build.
    • Code assist for cfclient APIs. You also get JavaScript code assist in cfclient block.

Following features from CFB 2.0.1 are not available in Thunder public beta.

  • Quick Fix in CFML editor
  • CF Advanced Find and Search
  • Persisting code folding in CFML editor
  • Quick outline (this has been implemented post public beta)

Following features are implemented differently in Thunder using third-party Eclipse plugins

  • FTP synchronization
  • Log Viewer

You can download ColdFusion Thunder from Adobe Labs. If you are interested in developing mobile applications using Thunder, then you might find my blog post, Simplify Mobile Application Development Using ColdFusion, useful.

-Ram Kulkarni

9 Replies to “ColdFusion Thunder – It's all new IDE”

  1. Are there any plans to add the CF Advanced Find and Search in Thunder?
    In most CF shops I have worked in that has always been a pain point, and the reason for developers to end up using multiple IDE’s, which is fine if you someone develops out of their basement, but not practical for and IT shop, which can’t afford both CFB licenses AND Dreamweaver licenses.

    1. Response to CF Advanced Find and Search was not very good in CFB 2.0. In our surveys also this was one of the least used features. So we did not port it in ColdFusion Thunder. As of now there is no plan to port, but that could change in future.

      1. Find and replace is one of the most important features of any IDE. Who did you survey? Perhaps the response was not very good because CFB2.0 did not have a very good file find/replace?

        Adobe doesn’t seem to be able to design meaningful surveys (or at least they don’t seem to be able to analyze the data properly). I suggest you look at other means of collecting data when you use that data to decide which features to develop. Perhaps an open community discussion or an updated feature request/voting system?

        1. To be very clear, we have not removed Eclipse’s Find and Replace functionality. CFB 2.0 had a feature called ‘Advanced Find and Replace’ which was based on Dreamweaver’s search functionality. This feature was not used by many and we had been repeatedly asked to remove it.

          Again, Eclipse’s ‘Find and Replace’ functionality is still here.

          1. Right, but the built-in find/replace in Eclipse has always been useless. Features like: multi-line search, search in selected text (not selected line, but in selected text), search both directions (Thunder’s default search only allows forwards/backwards), highlight results, find all in current document etc.. should be standard features in a serious IDE – and are missing from Thunder.

            This is a huge step backwards if you ask me.

    1. Steve, looks like there was some problem uploading the Linux build to Adobe Store. I was told that the build would be available next week. In the meantime marketing dept. told me that they will try to make it available for download from another page (not Adobe Store page). I will let you know if that happens.

Leave a Reply