Every once in a while I run into a situation in which I create a launch configuration in Eclipse and instead of having the name I expect, it has a “(1)” after it. For example, when I right click on a class named DumpImageIoPlugins and select Run as > Java Application, I expect a launch configuration named DumpImageIoPlugins to be created, but instead one named DumpImageIoPlugins (1) gets created. Worse, if I try to rename DumpImageIoPlugins (1) to DumpImageIoPlugins, I get told that a launch configuration with that name already exists, even when none is showing in the Eclipse UI.

Launch configurations can get “orphaned.” Launch configurations can get orphaned if the project with which they were associated is removed from the workspace – Eclipse doesn’t always clean them up. Even if you subsequent re-create a project with the same name, the old launch configurations don’t alway reappear. In any event, what’s happening is that Eclipse gets into the funny situation of knowing that a launch configuration exists with a particular name, but refusing to show one or more of them in the user interface.

Eclipse stores its launch configurations in the workspace, in the .metadata/.plugins/org.eclipse.debug.core/.launches directory. Thus, if you ever run into this situation, you can go to your workspace, open up the .metadata/.plugins/org.eclipse.debug.core/.launches directory, and delete the offending (hidden) launch configuration. You’ll have to restart Eclipse (or switch to a different workspace and then back) before the user interface will pick up the fact that the old configuration is gone, but thereafter you’ll be able to rename the configurations that do appear in the user interface if you want.