I have to begin by apologizing. ColdFusion Builder is - already - a pretty darn cool tool. While it still has warts (and to be fair, it is still in beta), it has been my day to day programming tool for a few months now. One of the cooler features of CFB is how easy it is to extend it with custom extensions. You can find a bunch on RIAForge now. Unfortunately for them, though, I'm releasing an extension today that makes all of them pointless. (Warning, the size of this SWF is rather large - I recorded it on a large screen.)


Ok, so if you watched the video and returned, sorry to waste your time. I do have one redeeming point to this blog entry. You may have noticed that the file I was editing in the video was refreshed automatically. Extensions can do this, but there is a typo in the documentation. In order to refresh the file that was right clicked on, you can use the following code (taken from the 'fix bugs' extension):

<cfsetting enablecfoutputonly="true" showdebugoutput="false"> <cfparam name="ideeventinfo"> <cfset data = xmlParse(ideeventinfo)> <cfset myFile = data.event.ide.projectview.resource.xmlAttributes.path> <cfset projectName = data.event.ide.projectview.xmlAttributes.projectname>

<cffile action="read" file="#myfile#" variable="code"> <cfset code = "<cftry>#code#<cfcatch></cfcatch></cftry>"> <cffile action="write" file="#myfile#" output="#code#">

<cfsavecontent variable="res"> <cfoutput> <response> <ide> <commands> <command type="refreshfile"> <params> <param key="filename" value="#myfile#" /> <param key="projectname" value="#projectname#" /> </params> </command> </commands> </ide> </response> </cfoutput> </cfsavecontent>

<cfheader name="Content-Type" value="text/xml"><cfoutput>#res#</cfoutput>

Specifically, I believe the docs say to use <command name="refreshfile">, while what you really want is type instead.