Heres an interesting ColdFusion Builder feature you may not be aware of. CFBuilder does a good job providing code assistance for CFCs. So for example, consider the following code snippet:
<cfset ob = createObject("component", "test")>
<cfoutput>#ob.
As soon as I hit the dot, CFBuilder introspected my test component and provided the following visual feedback:

CFBuilder is even smart enough to notice private methods. When I changed my drinkBeer to a private method (which sounds kinda sad), it didn't show up in the drop down. However, most of the time we don't work with CFCs like that. Instead we create them on application start up and store them in the Application scope. Wouldn't it be nice if you could get the same code assistance after typing the application scope version of the CFC? The good news is that you can.
In order to use this feature, you need to go into your project properties. Once you've loaded the project pane, select: "ColdFusion Variable Mappings":

For my test, I'm working within the BlogCFC project. I'm going to create a mapping between application.blog and the CFC:

Once I've done that I can then get code assistance on my application variable:

Pretty nifty, eh? As you can guess, setting up these mappings will be a manual process. However, in most projects I'd assume you have a core set of CFCs that act as services. While you may have a large number of components in play, the "core" ones you use will probably be a smaller number. A few minutes of set up and your good to go. One little nit - be sure not to typo. For some reason Adobe included the ability to add and delete mappings, but not to edit them.
Archived Comments
Wow, I missed that. Very useful. Great time saver. woot!
Ray,
It would be nice if we could add Meta Data Tag just about the definition of the variable to help CF Builder do the Variable Mapping.
example:
<cfscript>
// [CFCPath="com.hemtalreja.test.MyObject"]
myObject = Application.beanFactory.getBean("myObject");
</cfscript>
Too bad it only work if you create a new project with "ColdFusion Project". The option is not available when created project from SVN.
Incorrect Jeremy - I use SVN with CFB. If you made the project via SVN, you can just associate the CF nature with it (or some such, I forget the exact term), but the point is, you _can_ do it.
Settings are saved in the settings.xml file in the project root path. You can easy generate the XML file based on your cfc locations and application structure. You can add this file to CSV/SVN to share with your fellow developers.
I've generated one for myself, to be save I had closed my cfbuilder before, at startup he will read the new file and works fine.
The xml doc is nice and simple. I wonder if an extension can be made to inspect app.cfc and update automagically? I am sure it would be easy to write, guess the question is if you can alter that xml while in the project. Sadly I wont have time to tinker till this weekend.
Wow thats pretty sweet!
Great tip. I love coldfusion builder. So much so that I'm willing to put up with the frequent crashes.
My builder seems to just randomly lock up and have to be killed from the task manager at least once per day. Has anyone else experienced this issue?
@Danny: Obviously I can't say much under NDA, but I will say that performance/stability has seen MASSIVE updates since the last public beta.
Very very nice.
@Ray. Thanks. After your comment, i spend a little time to investigate. I just need to modify the file .Project to make it work :) . All my project was created when using cfeclipse, so it doesn't have that.
Does your project need to be at the root?
I've tried to make this work, but it never has... I get no code assist at all. I'm guessing I'm doing something wrong, but it just doesn't work for me.
Can you describe how your project is built/structured? For me, I am using a virtual host, which is pointing a few directories under the main root of localhost.
Disregard. I figured it out. Your project must have the same root as your virtual host. I had my projects back a few directories behind the root, which is a typical feature for several of my projects. I created a new project at the root, and voila, it worked! I will just have to include the directories I need behind the root going forward.
Just FYI I mapped to a scoped variable pointing to a cfc that extends other cfcs, but I just get the list of methods in that cfc and not the inherited methods. Still..it is a cool feature!
@Brian and anyone else who notices that CF Variable Mappings are relative to your project folder...you can use linked folders to overcome this. I posted instructions here:
http://darrentcook.wordpres...