How to open CFBuilder/FlashBuilder/Eclipse to view a given perspective, from command line
Note: This blog post is from 2010. Some content, links and indeed comments from others may be outdated--though not necessarily. Corrections are welcome, in the comments. I may revise the content if necessary.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:
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.
For more like this: