[Looking for Charlie's main web site?]

How to open CFBuilder/FlashBuilder/Eclipse to view a given perspective, from command line

Someone on a list asked an interesting question: how do you switch perspectives in CFBuilder (or FlashBuilder or Eclipse) from the command line? For instance, if one has CFB with FB as a plugin, how might one use the command line to create a shortcut so as to launch to the CFB or FB (or another) perspective?

The good news is that there are in fact various command-line switches for launching Eclipse, and these apply just as well to the cfbuilder.exe and FlashBuilder.exe (for instance, some have needed to use the -clean switch to resolve some problems).

In this case of specifying the desired perspective, we want to use the -perspective argument. The trick, though, is knowing the right value to provide. It's *not* the perspective name. Rather, it's the perspectiveid, and that's not so easy to determine. I'll explain below how I found them, but to cut to the chase, here they are.

Some key CFB and FB perspectiveids

  • ColdFusion: com.adobe.ide.coldfusion.perspective.CFML
  • ColdFusion Debugging: com.adobe.ide.coldfusion.ui.debugPerspective
  • Flash: com.adobe.flexbuilder.editors.mxml.ui.perspectives.development
  • Flash Debugging: com.adobe.flexbuilder.debug.ui.perspectives.debug
  • Flash Profiling: com.adobe.flash.profiler.ui.ProfilingPerspective
  • Java: org.eclipse.jdt.ui.JavaPerspective
  • Team Synchronizing: org.eclipse.team.ui.TeamSynchronizingPerspective

Still other perspectiveids

Of course, there are many other perspectives built into Eclipse and added by various tools, and you may want to open one of them (such as those related to SVN, CVS, etc.) Fortunately, at least one person has organized a list of them (though he lists none that are specific to Adobe products). For some of these, you will naturally have to have installed their respective tools/features them for them to open.

Using the Argument

So to wrap things up, the command like to open CFBuilder with the Flash perspective is:

CFBuilder.exe -perspective com.adobe.ide.coldfusion.perspective.CFML

I don't have CFB installed as a plugin on FB, but I do have FB and confirmed that at least the FB values I offered above work for that. I assume the CFB perspectiveids I offered would work in FB as well (again, assuming of course that you have installed CFB as a plug-in to FB.)

How I found the CFB and FB perspectiveids

This was a fun but challenging question. I did quite a bit of searching to find the answer. I followed some leads that were dead-ends (some said they were listed in plugins.xml, but I did not find that to be the case) so I finally just searched the FB and CFB installation directories directly for references to phrase "perpectiveid". In my case, I found them in a few files, but then the only one that had values like those above (I tested org.eclipse.jdt.ui.JavaPerspective, knowing it worked) was here:

C:\Program Files (x86)\Adobe\Adobe ColdFusion Builder\configuration\org.eclipse.core.runtime\

specifically in a file called .mainData.n (where n is a number that will vary per your local configuration). Of course, the path prior to \Adobe may vary on your own system.

In FB, it was in:

C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\configuration\org.eclipse.core.runtime\.mainData.n (again, where n is a number that will vary per your local configuration)

These are both binary files, but opening them I was able to search for perpectiveid and found the various references documented above.

Hope it helps someone. If there are any other facets of this that people should understand, feel free to comment.

Comments
Thanks for this Charlie

I will add though that the -perspective switch needs to be outside of the quotes when you create the shortcut.

For example my install shortcut is "D:\Adobe\Adobe Flash Builder 4\FlashBuilder.exe" so doing it like "D:\Adobe\Adobe Flash Builder 4\FlashBuilder.exe -perspective com.adobe.ide.coldfusion.perspective.CFML" does not work.

It needs to be "D:\Adobe\Adobe Flash Builder 4\FlashBuilder.exe" -perspective com.adobe.ide.coldfusion.perspective.CFML
# Posted By Steve Onnis | 6/18/10 10:13 PM
Sure, thanks for that clarification. Yes, that's indeed the way command line strings do need to be built, if the path or filename has spaces and would therefore need to be quoted.

To be clear, my example works (as is) if it's executed within the directory where the exe lives. I didn't think to go further and show building it with the complete path (and those quotes if needed) but that complete path would of course be needed to create a real shortcut, so thanks for adding that clarification.

To be honest, my focus was on the more significant challenge of specifying the perspectiveid, and finding those. :-) I'll enjoying hearing if that information was helpful to any readers, now or who may find this in the future.
# Posted By Charlie Arehart | 6/19/10 12:02 PM
The next obstacle was starting 2 instances because of the different shortcuts so you need to define separate workspaces for each of the shortcuts so you need to define a separate argument for the workspace using the –data argument

"D:\Adobe\Adobe Flash Builder 4\FlashBuilder.exe" -perspective com.adobe.flexbuilder.standalone.product -data @user.home/Adobe Flash Builder 4
"D:\Adobe\Adobe Flash Builder 4\FlashBuilder.exe" -perspective com.adobe.ide.coldfusion.perspective.CFML -data @user.home/ColdFusion Builder

Just remember the .exe path is for my install so you will need to change "D:\Adobe\Adobe Flash Builder 4" to your own install path
# Posted By Steve Onnis | 6/19/10 12:26 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.005. (Want to validate the html in this page?)

Carehart Logo

Managed Hosting Services provided by
Managed Dedicated Hosting