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
IPerspectiveDescriptor finalPersp = reg
				.findPerspectiveWithId(finalPerspId);
		if (finalPersp != null && finalPersp instanceof IPluginContribution) {
			IPluginContribution contribution = (IPluginContribution) finalPersp;
			if (contribution.getPluginId() != null) {
				IWorkbenchActivitySupport workbenchActivitySupport = PlatformUI
						.getWorkbench().getActivitySupport();
				IActivityManager activityManager = workbenchActivitySupport
						.getActivityManager();
				IIdentifier identifier = activityManager
						.getIdentifier(WorkbenchActivityHelper
								.createUnifiedId(contribution));
				Set idActivities = identifier.getActivityIds();
				if (!idActivities.isEmpty()) {
					Set enabledIds = new HashSet(activityManager
							.getEnabledActivityIds());
					if (enabledIds.addAll(idActivities)) {
						workbenchActivitySupport
								.setEnabledActivityIds(enabledIds);
					}
				}
			}
		} else {
			IDEWorkbenchPlugin.log("Unable to find persective " 
					+ finalPerspId
					+ " in BasicNewProjectResourceWizard.updatePerspective"); 
			return;
		}