Bug 44162 [Wizards] Define constants for wizard ids of new.file, new.folder, and new.project
In perspective factories, plugins have to reference the New wizards with a string that is susceptible to change during API reorganizations. For example, in org.eclipse.ui.internal.ResourcePerspective: // Add "new wizards". layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.folder");//$NON-NLS-1$ layout.addNewWizardShortcut("org.eclipse.ui.wizards.new.file");//$NON-NLS-1$ There are constants for most view id's, for example IPageLayout.ID_RES_NAV, but not for these. This request is to add constants for the new wizard ids in the appropriate location. In addition to new.folder and new.file above, you also need a constant for new.project. There may be others but those are the only ones I found in a search.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/wizards/newresource/BasicNewProjectResourceWizard.java
ArrayList preferredPerspIds = new ArrayList();
		addPerspectiveAndDescendants(preferredPerspIds, finalPerspId);
		String preferred = configElement.getAttribute(PREFERRED_PERSPECTIVES);
		if (preferred != null) {
			StringTokenizer tok = new StringTokenizer(preferred, " \t\n\r\f,"); 
			while (tok.hasMoreTokens()) {
				addPerspectiveAndDescendants(preferredPerspIds, tok.nextToken());
			}
		}
		IWorkbenchWindow window = PlatformUI.getWorkbench()
				.getActiveWorkbenchWindow();
		if (window != null) {
			IWorkbenchPage page = window.getActivePage();
			if (page != null) {
				IPerspectiveDescriptor currentPersp = page.getPerspective();
				
				
				if (currentPersp != null
						&& preferredPerspIds.contains(currentPersp.getId())) {
					return;
				}
			}
			
			if (!confirmPerspectiveSwitch(window, finalPersp)) {
				return;
			}
		}
		int workbenchPerspectiveSetting = WorkbenchPlugin.getDefault()
				.getPreferenceStore().getInt(