As has already been blasted around the blogs, Adobe has posed a survey asking what ColdFusion developers would like to see in a ColdFusion specific IDE. It goes without saying that many in the ColdFusion community have been asking/begging for an Adobe supported IDE to replace HomeSite +.

CFEclipse is a fantastic IDE, especially given the fact that it's essentially supported by a single developer and it's FREE! Now imagine what CFEclipse could become if Adobe got behind it. I don't know what Adobe's plans are (help enhance CFEclipse or create their own commercial IDE), but regardless, it's nice to see them showing interest in expanding the current ColdFusion IDE market.

You can take the survey here:

http://www.surveymonkey.com/s.aspx?sm=321RrO9_2fWaP_2bdYMnmF9CuQ_3d_3d

Kudos to Jim Priest for his latest CFEclipse article published on the IBM Developer Works website.

Jim's an avid blogger and regular contributor to the ColdFusion community. Getting an article on the IBM Developer Works site is no small feat, and an article there about ColdFusion is just one more feather in the cap of of CF developers. Cheers to Jim! This is the kind of exposure outside of the CF mainstream that we can all benefit from.

This one has been making the rounds around the ColdFusion blogosphere, so I thought I'd add to the mix and help get the word out. Todd Sharp is running a nice contest over at the new CFSnippets website designed to get developers working with the new Snipex features in CFEclipse. If you haven't been to CFSnippets, it's a public Snipex server with several libraries of open source snippets you can use within CFEclipse to speed up development of common tasks.

The contest runs through November 30th and includes some pretty cool prizes. For more information, click the banner below.

This may already be obvious to heavy Eclipse/CFEclipse/FlexBuilder users, but there's a really simple way to move one or more lines of code around without having to use copy/paste.

To move a single line of code, place the cursor anywhere on the line and click alt-up arrow to move the code up one line, or alt-down arrow to move the code down one line.

To move multiple lines of code at once, highlight the code you wish to move and use the same alt-up arrow/alt-down arrow shortcut. It's that easy!

Thanks to Adam Crump, I finally got snippets working in CFEclipse. Turns out, it was something rather trivial, but I'll save that for another post. One of the things that's kept me from completely switching from HomeSite + to CFEclipse is snippets. I have hundreds of them, and the thought of living without them makes me cringe.

Once snippets were successfully working for me in CFEclipse, I decided I needed a tool to convert them from HomeSite + format to CFEclipse's XML format. HomeSite stores two files for each snippet you create. Each filename is the actual name of the snippet you see in Homesite. One file has a .hss extension, and contains the "start" text of the snippet. The other file gets a .hse extension, and contains the "end" text for the snippet. With this in mind, I outlined what I wanted my converter tool to do:

  1. Read snippets directory recursively
  2. Cead .hss and .hse files - these contain the snippet text
  3. Create folders in eclipse snippet directory
  4. Wrap the snippet text in xml (eclipse snippet format). Name of snippet is filename from homesite
  5. Write out xml files in eclipse snippets directory

Sounds pretty simple, right? ColdFusion MX 7 added a new recurse attribute to the cfdirectory tag which actually makes the whole process pretty simple. Here's the code I came up with. I have to admit, it's been a good while since I've written any code, so this took me a bit longer than I'd like to admit. I was able to use the code to convert and copy all of my snippets over, including all folders and subfolders, in just a few seconds. As always, YMMV:


<!---
1. read snippets directory recursively
2. read .hss and .hse files - these contain the snippet text
3. create folders in eclipse snippet directory
4. wrap the snippet text in xml (eclipse snippet format). Name of snippet is filename from homesite
5. write out xml files in eclipse snippets directory
--->

<!--- set homesite and eclipse snippet base directories --->
<cfset sourceDir = "C:\Program Files\Macromedia\HomeSite+\UserData\Snippets">
<cfset targetDir = "C:\_source\snippets">

<!--- read in the snippet files and directories from homesite recursively - need mx 7 --->
<cfdirectory
    action="LIST"
    directory="#sourceDir#"
    name="dirList"
    recurse="Yes"
    sort="directory">


<!--- strip out .hse and other files so only .hss and directories are left --->
<cfquery name="theData" dbtype="query">
    SELECT *
    FROM dirList
    WHERE type = 'dir'
        OR    name like '%.hss'
</cfquery>    

<!--- loop over each directory, creating the same thing on the eclipse side --->
<cfoutput query="theData" group="directory" groupcasesensitive="yes">
    <cfset myDir = replace(directory, sourceDir, "")>
    <cfif directory is not sourceDir>
        <cfdirectory action="CREATE" directory="#targetDir##myDir#">
    </cfif>

    <cfoutput>
        <cfif listLast(name, ".") is "hss" and type is "file">
            <!--- read in the .hss file (start of a snippet) --->
            <cffile action="READ" file="#directory#\#name#" variable="snippetStart">
            <!--- read in the .hse file (end of a snippet) --->
            <cffile action="READ" file="#directory#\#ReplaceNoCase(name,".hss",".hse")#" variable="snippetEnd">
            
<!--- create the xml for each eclipse version of the snippet --->
<cfsavecontent variable="targetSnippet"><?xml version="1.0" encoding="utf-8"?>
<snippet filetemplate="false" extension="cfm">
<name>#ReplaceNoCase(name,".hss","")#</name>
<help>#ReplaceNoCase(name,".hss","")#</help>
<starttext><![CDATA[#snippetStart#]]></starttext>
<endtext><![CDATA[#snippetEnd#]]></endtext>
</snippet></cfsavecontent>    

            <!--- write out each file on the eclipse side --->
            <cffile action="WRITE" file="#targetDir#\#myDir#\#ReplaceNoCase(name,".hss",".xml")#" output="#targetSnippet#">        
        </cfif>
    </cfoutput>
</cfoutput>

All Finished!

If you have the Enterprise edition of either XMLSpy 2006 or MapForce 2006, you'll be excited to know that the latest release (R3) now supports integration with Eclipse.

I've always liked XMLSpy, yet I've hated having to launch a separate editor outside of Eclipse. With R3, this is no longer a problem (same goes for mapping in MapForce 2006).

You can download the integration installers from the Altova website

I really wish all tools vendors would build on teh Eclipse platform. It would make life a whole lot easier.




Copyright 1995-2010 Rob Brooks-Bilson. All rights reserved.
Aura skin for Raymond Camden's BlogCFC inspired by Joe Rinehart & Steven Erat. This blog is running version 5.9.004.