Bug 73556 [Encoding] Changing editor encoding causes Eclipse to freeze for a while
Here's my setup: - latest 3.0.1 build (M20040908) - large number of projects in my workspace (i.e. all of Eclipse loaded from the repository) - latest IBM VM and JXE support I changed the encoding on the Editors preference page and clicked OK. There's was a fairly long (probably in the order of a minute) delay where there was something going on but there was no progress indication. At first, Eclipse was totally frozen (i.e. I could not even move the mouse). The preferences dialog remained open with OK diabled but Cancel enabled. Once the mouse was movable again, there was a busy cursor when the mouse was over the workbench but not when the mouse was over the preferences dialog. Eventually the dialog closed and a build was launched. I don't know what changing the encoding involves but clearly there is some pretty intensive work that is happening inside a busy cursor. Either this should be done in a progress dialog or a background job.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/ide/IDEEncoding.java
boolean addValue = true;
		StringBuffer result = new StringBuffer();
		for (int i = 0; i < currentEncodings.length; i++) {
			String string = currentEncodings[i];
			result.append(string);
			result.append(PREFERENCE_SEPARATOR);
			if (string.equals(value))
				addValue = false;
		}
		if (addValue)
			result.append(value);
		IDEWorkbenchPlugin.getDefault().getPreferenceStore().setValue(
				IDE_ENCODINGS_PREFERENCE, result.toString());
	}
	/**
	 * Get the value of the encodings preference.
	 * 
	 * @return List
	 */
	private static String[] getIDEEncodingsPreference() {
		String encodings = IDEWorkbenchPlugin.getDefault().getPreferenceStore()
				.getString(IDE_ENCODINGS_PREFERENCE);
		if (encodings == null || encodings.length() == 0)
			return new String[0];
		return encodings.split(PREFERENCE_SEPARATOR);
	}
	/**
	 * Clear the IDE encodings preference.
	 */
	public static void clearUserEncodings() {