Tips for folks new to CFBuilder and the Eclipse Platform

This post is more than 2 years old.

For some people trying out CFBuilder, this will be their first experience with an Eclipse-based application. Eclipse has been around for a while now and is an excellent platform for IDEs. While it is extremely powerful and is chock full of features, it can be a bit... alien to people who have never used it before. This blog post will share some basic tips/suggestions for working with CFBuilder and Eclipse. It is certainly not meant to be a complete guide to everything Ecplise-wise, but I thought it might be helpful to share a few things that may confuse/frustrate people migrating from non-Eclipse IDEs. These are in no particular order, and I would greatly appreciate other people's tips as well.

Definitions

First off, some quick definitions. When you use CFBuilder, you are working in a workspace. The workspace is, for all intents and purposes, the entire IDE, your settings, layout, and projects. Many people never work with additional workspaces. (I don't, and will explain why below.) But if you want to have radically different setups for your development, you should look at using multiple workspaces.

Next - you will often here people refer to "Views". Views are panels in the IDE and kind of act like mini applications. Some views you will see often are Navigator, Outline, Servers, etc. Views can be dragged and moved around the editor. They can be shrunk and expanded as you see fit. One tip - if you are on a laptop and want to quickly get more room for your code, double click on the tab above your code that contains the filename. This will expand the editor to the maximum size of the IDE. If you here people talk about a view but don't see it, you can add a view by going to going to the Window/Show View menu.

This shows a subset of comment views. You will probably not see the one you want. Just click other. What's cool and not evident (it wasn't to me for many months!) is that you can use the filter box on top. Yes, I know it says "type filter text", but I just never really noticed it, or got the intent. So if you are looking for a particular thing, like Tail View, you can type in a few characters and the list will filter to it. This works in many places within Eclipse.

The next term is Perspective. Like a workspace, this is a group of views, or, a layout. Changing your perspective can greatly change what you see on screen. Unlike workspaces, perspectives work in the same projects though. You will probably encounter a new perspective when you first try out debugging.

You can find more definitions here at the CFB Documentation: About the workbench. I'll also point out the entire section, ColdFusion Builder Workbench Basics, as another excellent resource (that goes more deep than I am here!)

I want to edit a CFM, why can't I?

One of the biggest issues for me when I first started using Eclipse was the fact that it greatly prefers you to use projects. CFBuilder has a "Files" view that allows you to browse the file system and edit any CFM at will. You can also use RDS to edit files. However - in general you really want to start working with and using projects. These are created in the Navigator panel and typically should be set up so that each project relates to one set of files. For me, I've got a project for each of my open source projects and each client. I've also got a project for my generic web root. This is where I dump all my tests and "just playing scripts". Here is a snapshot of my Navigator now.

Notice that I only have three projects. That's because I recently blew away all my settings. As I need to touch each of my existing projects I'll either create a new project or use the import action to bring it in.

So as I said - you can work with ad hoc files. On Windows you can even double click a CFM/CFC to open it in CFBuilder. But in general you want to start using projects. On my Mac, I use TextMate for CFM/CFCs double clicked in the finder. I typically only use this for quick modifications.

How do I search, and why is search scanning all my code?

To perform a multi-file search (and replace), you can use the Search menu. Obvious, right? What isn't obvious is the scope of the search. By default, Eclipse wants to search your entire workspace. That can be a Huge Ass amount of files (Huge Ass is a technical term, look it up.) There is an option to search only within "Selected Resources", but it may be grayed out. In order to actually use that scope, you must first click on the project, or folder, in Navigator. This frustrates me to no end. I'm typically typing in a file when I feel the need to search. If i forgot to first click in the Navigator I'm not able to filter my results. I go into more detail about this topic here.

I tried to open a file, and it opened in another editor!

Eclipse has a set of "recognized" file types and extensions. Obviously CFC and CFM are supported, HTML, CSS, and JS. But what about other files? I've seen some developers use the .inc extension for files they include in their ColdFusion projects. As an example, on my system, Dreamweaver is configured to run inc files. You can tell by the icon used in Navigator.

So what to do? You have two options. If you just want to get the darn thing open quickly, right click, and select Open With - Text Editor. While that works, you won't have native color coding.

The better solution is to tell Eclipse about the file association for inc. Go into your preferences and select General / Editors / File Associations. (As just a reminder, I had no idea where that was, but I used the tip mentioned above to filter the preferences until I found it.) Click Add (next to File Types) and enter the file extension:

Hit ok, and then ensure it is selected. You will notice nothing in the Associated editors box. So click Add... there and then select Adobe CFML Editor.

Hit Ok a few times to close out the dialog, close the file (if you had it open), and open it up again. Now here is where you may get tricked. If you open your file and don't see color coding, you may think you made a mistake. You didn't. Eclipse is remembering that you said to open that file with the Text Editor. It recognizes .inc as a CFML file (Navigator will show the right icon), but since you previously told it to use the text editor, it will remember that preference for the file. Just right click, open with, and select Adobe CFML Editor. From now on, and for other .inc files, it should use the right editor.

I added a file to my project, where is it?

Here is one that bites me at least once a week. While a project may be based on your file system, Eclipse does not constantly monitor the file system for changes. If you add a new file, or delete one, via the file system, you want to go into Eclipse, right click on the project, and select refresh. You can refresh at the folder level as well.

Navigating the Navigator

Have a large project? Hate constantly moving up and down to find stuff? There is an option you can use called "Link with Editor"

If enabled, when you select an open file, the Navigator will scroll up to where the file is located. This is darn handy when you are working "high and low" in a big project. I also tend to turn it on and off as it is annoying when I don't want to use it.

Can I hide files?

Yes and no. The Navigator lets you hide files based on a pattern match, but if you don't like their existing patterns you are out of luck. In the upper right side of the Navigator is a downward arrow. Click on it then select Filters. You can then chose to enable/disable filters to your liking. I tend to use .* as it hides .svn stuff.

I've got a lot of projects - is there a way to organize them?

Yes! Remember earlier when I said I don't like using multiple Workspaces? I prefer to use something else - Working Sets. A Working Set is a collection of projects. By default you have no working set. You can start working with them by using the same downward arrow mentioned above. Click it and pick Select Working Set.

You can add a new working set and give it a nice name. Now be aware - until you add your projects to the working set, they will not show up in the navigator. I've typically used working sets to handle "Current" and "Archived" projects, so old stuff doesn't get in the way. Some folks use it to differentiate between client and personal projects. The choice is yours.

Copy/Paste works in Navigator

Did you know you can copy and paste files and folders in Navigator? Yep, you can, just as if it were a operating system folder. Just select a file, or folder, right click, Copy, and then find a lace to paste it.

Raymond Camden's Picture

About Raymond Camden

Raymond is a senior developer evangelist for Adobe. He focuses on document services, JavaScript, and enterprise cat demos. If you like this article, please consider visiting my Amazon Wishlist or donating via PayPal to show your support. You can even buy me a coffee!

Lafayette, LA https://www.raymondcamden.com

Archived Comments

Comment 1 by Dylan posted on 3/27/2010 at 12:05 AM

The biggest thing for me when I started using CFBuilder was finding the word wrap functionality. From Terrence Ryan's blog:

http://www.terrenceryan.com...

Comment 2 by David Hammond posted on 3/27/2010 at 12:28 AM

I use a separate workspace for each of my projects (by which I mean each website I work on -- each website can have more than one Eclipse "project" folder). What I like about doing that is that the workspace remembers the files I have open for each project, and so I can jump back and forth between projects without losing my place in each of them. This is very helpful for me because I need to jump from project to project A LOT, and I get confused easily.

The problem with this, of course, is that I actually want the same workspace layout for all of my projects, and so if I make a change to the layout in one, I want it to carry over to the others. Eclipse solves this partially by allowing you to copy your workbench layout from one workspace to another when you switch workspaces (you need to select Switch Workspace/Other... to get that option).

So I don't use working sets to organize my Navigator. I do use working sets to restrict the files I search over. That helps to, for instance, eliminate a directory from search that has a huge number of small files I don't want to search.

Comment 3 by Andy Sandefer posted on 3/27/2010 at 12:36 AM

Thanks! (I've been trying to figure out how to do a multi-file replace for about a half hour)

Comment 4 by Bob W posted on 3/27/2010 at 12:46 AM

@David - you may want to look at the Mylyn plugin for Eclipse - it provides a task-oriented interface that remembers which files you have opened for any given task - it might be worth looking at!

Comment 5 by Matt W posted on 3/27/2010 at 12:54 AM

I'm not sure it if is an issue in CFB or not, but I remember there being issues with Eclipse in general about leaving too many projects open. If you have many projects, close the ones you are not currently working in (Right click, Close Project). I believe this helps Eclipse manage memory better as it will ignore closed projects until reopened.

Comment 6 by Mike Henke posted on 3/27/2010 at 1:45 AM

A tip for any person using Eclipse is read the Tips and Tricks documentation from Eclipse. http://bit.ly/8Zjpqq this link is on the workbench.

And the What's New for the workbench http://bit.ly/beA5j7

Eclipse Documentation is extremely well done and updated. http://help.eclipse.org

Comment 7 by Simon posted on 3/27/2010 at 2:39 PM

Hi all, Im trying to convert from dreamweaver to cfbuilder and have fallen at the first hurdle. I've tried to set up my first project and am having trouble getting my head around setting up my server. I have a dev version of cf9 on my pc and just cannot get builder to connect via rds could anyone point me in the direction of any examples on line. Is builder the same as dmwvr in that you can have a local server and a remote server and you put files from one to the other ?

Comment 8 by David Hammond posted on 3/27/2010 at 6:26 PM

@Bob, thanks for the tip on Mylyn. I may still need multiple workspaces for other reasons, but the idea of organizing around tasks is appealing.

Comment 9 by marc esher posted on 3/28/2010 at 1:16 AM

@David: keep your eyes on http://www.meetup.com/coldf.... In a few weeks there'll be a presentation on Eclipse Productivity Tips-n-Tricks which will include a demonstration of Mylyn

Comment 10 by Raymond Camden posted on 3/28/2010 at 3:49 AM

@Simon: When you tried to connect via RDS, what error did you get?

Comment 11 by Simon posted on 3/29/2010 at 12:05 PM

@ Ray : I get - Unable to contact the RDS Server "CF 9 Local" Error executing RDS Command Status Code 401 Reason access denied.

Comment 12 by Raymond Camden posted on 3/29/2010 at 5:11 PM

@Simon: Interesting. So I assume CF is running, and you can access it with your browser (specifically the admin)?

Comment 13 by Simon posted on 3/29/2010 at 6:01 PM

@Ray : Yes my local cf 9 is all accessible. I have RDS set as having one password with no users. I have cf 9 iis 5.1 and nt authentication on. This replicates my remote server. I access my local sites with my pc id as the url ie. http://simon/cfide etc. In Builder I have set the server as Is local on port 80 with my pc name as the host and set the app server as other and added the RDS password.

Comment 14 by Simon posted on 3/29/2010 at 6:07 PM

@Ray : ive just tried changing the host to localhost and leaving the port as 80. I can now launch the admin and server monitor from CF Builder builder and the error for RDS is now Status Code is now 405 Method Not Allowed

Comment 15 by Raymond Camden posted on 3/29/2010 at 6:16 PM

If you open /cfide in a browser, do you get prompted to login via IIS auth? Did you clock down any of the possible verbs in the folder?

Comment 16 by Simon posted on 3/29/2010 at 7:41 PM

I do occasionally but with all the password remembering of my browser it doesnt happen to often. Not sure what you mean about the verbs, sorry.

Comment 17 by Raymond Camden posted on 3/29/2010 at 7:46 PM

Sorry, by verbs I mean POST, GET, etc. HTTP stuff. Your web server can be set up to explicitly block them. In your browser, try to clear your cache and your authentication cache. See then if you get prompted to login via IIS. Or maybe, temporarily, disable the security on CFIDE. If that lets you in, then you need to edit your RDS setting to provide BOTH the CF RDS password and what IIS requires.

Comment 18 by Simon posted on 3/29/2010 at 8:05 PM

Well Ive cleared down my browser cache and yes I do have to log onto my local cfide with my windows username and password. I have also removed the RDS password from my CF 9 install now. Do I need to put my windows login info into CFBuilder somehow ?

Comment 19 by Raymond Camden posted on 3/29/2010 at 8:15 PM

There is a place for _both_ logins Simon.

Oh man - I apologize. I coulda sworn there was in the RDS config but I'm wrong. Well, what I'd recommend is - put the RDS password back and remove the IIS auth _just_ on the CFIDE folder. This is your local machine so it should be fine. For production you want it enabled though.

Comment 20 by Simon posted on 4/1/2010 at 11:31 AM

@Ray - Thanks for all your help Ray, I finally got it working by taking off the RDS authentication in CF Admin as well as setting the CFIDE folder in IIS as anonymous login. Its my local machine so Im sure its safe enough. Time to play with Builder now :0) As always couldnt have done it without your help ! Thanks.

Comment 21 by Ron posted on 4/3/2010 at 2:01 AM

Dylan, Thank you for that link I have been looking for that word wrap setting for a while.

Comment 22 by charlie arehart posted on 4/8/2010 at 7:27 AM

Cool stuff, Ray. As for more, since you ask, one great place for people to look for more tips on CFBuilder is Akbarsait's list of CFB tutorials: http://www.akbarsait.com/cf...

I'll also point to my own "hidden gems in CFB" talk, at http://www.carehart.org/pre....

Comment 23 by SuperAlly posted on 4/11/2010 at 12:58 AM

Hi Ray

Currently in the process of trying to switch from Dreamweaver to CF Builder... I'm having some problems I'm wondering if they are widespread... I'm running a 24" iMac, 3.06ghz core 2 duo with 4gb of RAM and CF Builder crashes any time I try to open large .cfm files that Dreamweaver can open in a split second.

Also, with Dreamweaver I can have 20 different files open and switch between and edit them at will, but with CF Builder, as soon as a few larger files are open at the same time, I can press a key and wait a full 15 seconds for CF Builder to respond to that single keystroke... Anyone else having performance issues with CFB? Are there some settings I can tune? Bear with me, very new and just started going through the various tips and techniques :)

Comment 24 by Raymond Camden posted on 4/11/2010 at 6:59 PM

Interesting. I certainly saw performance issues during the betas. Painful ones. Are you _sure_ you aren't still running the last public beta?

Comment 25 by SuperAlly posted on 4/12/2010 at 4:23 AM

I just re-downloaded and installed the full release last Sunday after reformatting my entire system. As far as I know it's the full release. version 1.0.0.271911

Comment 26 by Raymond Camden posted on 4/12/2010 at 4:37 AM

Hmm. You got me then. I'd suggest a new workspace, but you said you did a reformat.

Comment 27 by Charlie Arehart posted on 4/12/2010 at 10:01 PM

For SuperAlly's Mac performance issue, does anyone know if the two issues that had been a problem in the beta are entirely resolved: conflict with Time Machine (http://blogs.adobe.com/cfbu... and problems with the internal Firefox browser (http://blogs.adobe.com/cfbu...

They're worth your checking while you wait, SuperAlly, to see if the offered workarounds help.

Comment 28 by SuperAlly posted on 4/12/2010 at 11:08 PM

Charlie

Thanks for the advice, unfortunately I had no luck. Both suggestions were already unchecked in my preferences as it is.
I've had to stop using CFB completely at this point. Even with nothing else running on the system it will crash intermittently and every single time I try to open larger .cfm page it crashes instantly.

Comment 29 by Charlie Arehart posted on 4/12/2010 at 11:56 PM

OK, good to hear (I know it's not "good" to you but I mean diagnostically, it helps narrow the focus).

I would suggest that instead this then may be a heap memory problem. Have you looked in the logs for CFB? Either in the OS or with the Show View>Other>General>Error log? They may tell when this is happening.

Or have you enabled the feature to watch the memory use? See Preferences>General>Show Heap Status, which shows a progress bar of memory usage.

Also, are you running the standalone or a plugin version? And have you installed other plugins? You may need to increase the heap size for CFB (or Eclipse, if you installed it as a plugin). Though Adam discussed this with respect to the beta, it may still help: http://www.adrocknaphobia.c...

I'll note that I also point to these and other troubleshooting solutions in in my Hidden Gems in CFBuilder talk, at http://www.carehart.org/pre..., which you may want to consider before giving up completely.

Hope these are helpful.

Comment 30 by SuperAlly posted on 4/13/2010 at 1:35 AM

Thanks again Charlie...
I have a standalone installation with no plugins installed by me. I have read through your hidden gems briefly, but don't know enough about error logs to read or deal with them I'm afraid.

My heap on startup ranges from 35-52mb of 126mb used with no files open. Around 60mb with a file open. Any recommendations for heap settings I have seen I already have in place for the installation.

On startup I have two errors in the error log with a timestamp 3 hr 45min in the future:
Unhandled Event Loop Exception and
System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences

Comment 31 by Charlie Arehart posted on 4/13/2010 at 2:00 AM

I don't know how Ray feels, but with all due appreciation for your dilemma, I'm not a fan of trying to have extended support discussions in blog comments...and especially when this has veered quite far afield of the entry's main point.

Really, this is the sort of thing you'd be best bringing up on the Adobe support forums (for CFB), and at least there you have a greater chance (though no guarantee) of Adobe folks watching. While they make no promise to support the forums, it seems reasonable that they'd want to avoid something like your problem lingering to give a bad impression. They may or may not be paying attention to this blog entry. Considering that it's nearly 3 weeks old, unless they were already subscribed to the comments, they may not be seeing this at all.

My main reason for pointing you to the forums is that I really have no more to offer based on the info you've shared. I have not doubt that there's more info available which could help solve this. There always is. These things don't "just happen", though it can feel that way when you're suffering it.

But really I'd assert that that forums are the right place to have such an extended support discussion. I will offer as a last point that I do also provide CF troubleshooting services as a consultant, carehart.org/consulting/, and while I focus on CF server problems, I can help with CFBuilder ones as well. I've thought about offering a flat fee service to help people get past any one problem or using any one feature. If anyone's interested, don't comment here but follow the contact link on the page I just pointed to.

Hope that's helpful (and that all the other stuff I've shared makes up for the unseemliness anyone may feel about that brief "sales pitch" in the last paragraph. Just pointing out another place to find a solution, is all, when one is stuck. Not all problems can be solved well without more direct interaction.)

Comment 32 by SuperAlly posted on 4/13/2010 at 8:03 AM

Charlie... And Ray...

Thank you again for all your help. I had the same thought myself, that it was neither fair or appropriate to continue this discussion here. I do appreciate your assistance. I will, as time permits, pursue it, but unfortunately for now I will have to go back to doing things as I had been before. Cheers and appreciation guys, sorry for taking up your time in this manner!!

Comment 33 by Charlie Arehart posted on 4/13/2010 at 9:53 AM

Thanks for the update, and understanding. I'm sure I speak for Ray when I say we do certainly love to help when we can, and often if can be done quickly, so it was worth exploring at least for a few interchanges. If you may ever resolve things and think to point back here about what it was, I'm sure some would appreciate it. :-) I realize that's sometimes hard to remember.

Comment 34 by fransis posted on 4/21/2010 at 6:53 PM

Hi !
I am using CFbuilder and my coldfusion server is on a Remote Desktop Services (RDS).I access/work on the files in the "E://TeraTech/" drive of my RDS.
Now in my workspace (which i can see in the "Navigator" has a single project Fransis with a single file Fransis.cfm ) I want to add this "E://TeraTech/" folder .
--->right click on Navigator (view)/Fransis (folder)
---> create a Coldfusion Project/next
--->1 Project name (say TeraTechE)
2 Project location (Browse)
--->????????
What should I give for "Browse"
...the URL of the RDS? like 123.132.3.123://
or
...try to link it via "my network" ...the problem here is that "E://TeraTech/" is not showing in My Networks.
How do I proceed? Please help.
Regards
Fransis

Comment 35 by Raymond Camden posted on 4/21/2010 at 10:26 PM

You've got me there. I don't think you can do this if you can't "see" the folder via a normal path.

Comment 36 by fransis posted on 4/21/2010 at 11:50 PM

Thanks Raymond!
I look for getting access /seeing the folder on my Netwrk.

Got one general Q:
Suppose I want to access the D:/ drive of say 123.132.3.123
or E;/ drive then can i specify it in say "project location" as
123.132.3.123/D:\/ or RDS name/D:\?
What is the correct convention for location of Drivers on RDS?

Comment 37 by Raymond Camden posted on 4/24/2010 at 12:35 AM

Um, I don't know. :) Give it a try. I don't think you can use RDS though. Like that I mean.

Comment 38 by Frank posted on 6/9/2010 at 1:08 PM

CFBuilder is a great product, but I still miss a couple of features I used a lot in Homesite. Maybe it's possible, but so far I haven't found how.

1. Bind snippets to keys.
2. Open an empty document without saving it. I use this often to park pieces of code, which I can use elsewhere later.

Frank

Comment 39 by Marc Esher posted on 6/9/2010 at 3:17 PM

Hey Frank,
CFBuilder does have bindable snippets. Read here for more: http://www.mattgifford.co.u...

For #2, I use CFEclipse's concept of a "scribble" file. Basically, I just keep a file named "scribble.cfm" in a project and when I want to park code, I'll use "ctrl-shift-R" to pop up the resource finder, type "scribble", and hit enter.

Comment 40 by Chris posted on 6/11/2010 at 11:01 PM

How do you remove the "tab" and "enter" display characters? kinda annoying. I launched CFBuilder this morning and all my docs now show these intrinsic characters. Don't know how to remove them.... :(

Comment 41 by Raymond Camden posted on 6/11/2010 at 11:03 PM

Its white space - go to your options and type white space in the filter. It should show up. Also see:

http://www.coldfusionjedi.c...

Comment 42 by Chris posted on 6/11/2010 at 11:27 PM

oy...you're right, "that's one key combo I WON'T BE FORGETTING".

thanks Ray!

Comment 43 by Connor Middleton posted on 4/6/2011 at 1:54 AM

I have Chrome and Safari installed on my system, but for some reason they do not show up as options in my preview. Any ideas?

Comment 44 by Raymond Camden posted on 4/6/2011 at 1:56 AM

Try going to your Preferences (in CFB), HTML/Editors/HTML/Preview. At the bottom is a list of browsers that can be used for preview. Maybe yours are all unchecked.

Comment 45 by Connor Middleton posted on 4/6/2011 at 1:57 AM

Oddly, I only have two options; Firefox and IE, they are both checked.

Comment 46 by Raymond Camden posted on 4/6/2011 at 1:58 AM

Are you working with a file that has .html as an extension? Or cfm?

Comment 47 by Connor Middleton posted on 4/6/2011 at 2:00 AM

.html and .cfm

Comment 48 by Raymond Camden posted on 4/6/2011 at 2:03 AM

Close your HTML file, right click, open with, and pick CF Builder HTML Editor. See if it shows up then.

Comment 49 by Connor Middleton posted on 4/6/2011 at 5:56 AM

I tried that Ray, but I was already using it. You might be on to something. Maybe I need to associate the browsers with the file types?

Comment 50 by Raymond Camden posted on 4/6/2011 at 5:57 AM

I was worried Eclipse was using the wrong handler. I'm out of ideas now. :( How about trying the CFB2 Beta?

Comment 51 by Connor Middleton posted on 4/6/2011 at 6:32 AM

I have it on my other machines and get the same error. For my MAC, the only options are Safari and Firefox. On my PC, it is Firefox and IE.

Comment 52 by Raymond Camden posted on 4/6/2011 at 5:31 PM

Well, now then I'd recommend filing a bug. Sorry!

Comment 53 by Tomas posted on 12/27/2012 at 9:53 PM

Hi, I'm new to ColdFusion and CFBuilder. I installed CF Builder 2 and ColdFusion 10 to learn to use both and I was doing ok. After the trial period ended CFBuilder reverted back to Express Edition and I could no longer preview .CFM pages in any of the two internal browsers (IE and Mozilla). I can only preview them if I change the the extention to .HTM. Is that normal of the Express edition or am I missing something. It would be weird for CFBuilder not to preview .CFM pages on its internal browsers....
Note that before the downgrade to Express Edition I was able to preview my code on either internal or external browser. Could anybody please help.
Thanks

Comment 54 by Raymond Camden posted on 12/27/2012 at 10:03 PM

According to this, http://cfdocyard.blogspot.c..., you should be able to preview in the Express Edition as well. Not sure what to tell you outside of filing a bug report.

Comment 55 by Tomas posted on 12/28/2012 at 3:12 AM

Thanks Ray. How do I go about filing a bug report?

Comment 56 by Raymond Camden posted on 12/28/2012 at 3:40 AM
Comment 57 by Tomas posted on 12/28/2012 at 4:17 AM

Thanks Ray. Happy New Year.