Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--org.eclipse.jdt.core/buildnotes_jdt-core.html2
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java146
-rw-r--r--org.eclipse.jdt.core/plugin.xml8
3 files changed, 143 insertions, 13 deletions
diff --git a/org.eclipse.jdt.core/buildnotes_jdt-core.html b/org.eclipse.jdt.core/buildnotes_jdt-core.html
index ddb0472751..9f0b6524ad 100644
--- a/org.eclipse.jdt.core/buildnotes_jdt-core.html
+++ b/org.eclipse.jdt.core/buildnotes_jdt-core.html
@@ -92,8 +92,6 @@ generic semantics have some problems
[1.5][search]Rename field fails on field based on parameterized type with member type parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80890">80890</a>
[search] Strange search engine behaviour
-<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79883">79883</a>
-[prefs] -pluginCustomization doesn't pick up compiler preferences
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81376">81376</a>
[search] Clarify effects of R_ERASURE_MATCH for searches other than TYPE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81618">81618</a>
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
index 7c8013df67..849b29f33c 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java
@@ -68,6 +68,8 @@ import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IPreferencesService;
import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants;
+import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
import org.eclipse.jdt.internal.compiler.util.SuffixConstants;
import org.eclipse.jdt.internal.core.*;
import org.eclipse.jdt.internal.core.util.MementoTokenizer;
@@ -2280,7 +2282,7 @@ public final class JavaCore extends Plugin {
* @param optionName the name of an option
* @return the String value of a given option
* @see JavaCore#getDefaultOptions()
- * @see JavaCorePreferenceInitializer for changing default settings
+ * @see #initializeDefaultPreferences() for changing default settings
* @since 2.0
*/
public static String getOption(String optionName) {
@@ -2312,7 +2314,7 @@ public final class JavaCore extends Plugin {
* @return table of current settings of all options
* (key type: <code>String</code>; value type: <code>String</code>)
* @see #getDefaultOptions()
- * @see JavaCorePreferenceInitializer for changing default settings
+ * @see #initializeDefaultPreferences() for changing default settings
*/
public static Hashtable getOptions() {
@@ -2527,6 +2529,141 @@ public final class JavaCore extends Plugin {
if (result == null) return JavaModelManager.NO_WORKING_COPY;
return result;
}
+
+ /*
+ * Initializes the default preferences settings for this plug-in.
+ */
+ protected void initializeDefaultPreferences() {
+
+ // Init and store default and instance preferences
+ IEclipsePreferences defaultPreferences = getDefaultPreferences();
+
+ HashSet optionNames = JavaModelManager.getJavaModelManager().optionNames;
+
+ // Compiler settings
+ Map compilerOptionsMap = new CompilerOptions().getMap(); // compiler defaults
+ for (Iterator iter = compilerOptionsMap.entrySet().iterator(); iter.hasNext();) {
+ Map.Entry entry = (Map.Entry) iter.next();
+ String optionName = (String) entry.getKey();
+ defaultPreferences.put(optionName, (String)entry.getValue());
+ optionNames.add(optionName);
+ }
+
+ // Override some compiler defaults
+ defaultPreferences.put(COMPILER_LOCAL_VARIABLE_ATTR, GENERATE);
+ defaultPreferences.put(COMPILER_CODEGEN_UNUSED_LOCAL, PRESERVE);
+ defaultPreferences.put(COMPILER_TASK_TAGS, DEFAULT_TASK_TAGS);
+ defaultPreferences.put(COMPILER_TASK_PRIORITIES, DEFAULT_TASK_PRIORITIES);
+ defaultPreferences.put(COMPILER_TASK_CASE_SENSITIVE, ENABLED);
+ defaultPreferences.put(COMPILER_DOC_COMMENT_SUPPORT, ENABLED);
+
+ // Builder settings
+ defaultPreferences.put(CORE_JAVA_BUILD_RESOURCE_COPY_FILTER, ""); //$NON-NLS-1$
+ optionNames.add(CORE_JAVA_BUILD_RESOURCE_COPY_FILTER);
+
+ defaultPreferences.put(CORE_JAVA_BUILD_INVALID_CLASSPATH, ABORT);
+ optionNames.add(CORE_JAVA_BUILD_INVALID_CLASSPATH);
+
+ defaultPreferences.put(CORE_JAVA_BUILD_DUPLICATE_RESOURCE, WARNING);
+ optionNames.add(CORE_JAVA_BUILD_DUPLICATE_RESOURCE);
+
+ defaultPreferences.put(CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER, CLEAN);
+ optionNames.add(CORE_JAVA_BUILD_CLEAN_OUTPUT_FOLDER);
+
+ // JavaCore settings
+ defaultPreferences.put(CORE_JAVA_BUILD_ORDER, IGNORE);
+ optionNames.add(CORE_JAVA_BUILD_ORDER);
+
+ defaultPreferences.put(CORE_INCOMPLETE_CLASSPATH, ERROR);
+ optionNames.add(CORE_INCOMPLETE_CLASSPATH);
+
+ defaultPreferences.put(CORE_CIRCULAR_CLASSPATH, ERROR);
+ optionNames.add(CORE_CIRCULAR_CLASSPATH);
+
+ defaultPreferences.put(CORE_INCOMPATIBLE_JDK_LEVEL, IGNORE);
+ optionNames.add(CORE_INCOMPATIBLE_JDK_LEVEL);
+
+ defaultPreferences.put(CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS, ENABLED);
+ optionNames.add(CORE_ENABLE_CLASSPATH_EXCLUSION_PATTERNS);
+
+ defaultPreferences.put(CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS, ENABLED);
+ optionNames.add(CORE_ENABLE_CLASSPATH_MULTIPLE_OUTPUT_LOCATIONS);
+
+ // encoding setting comes from resource plug-in
+ optionNames.add(CORE_ENCODING);
+
+ // Formatter settings
+ Map codeFormatterOptionsMap = DefaultCodeFormatterConstants.getJavaConventionsSettings(); // code formatter defaults
+ for (Iterator iter = codeFormatterOptionsMap.entrySet().iterator(); iter.hasNext();) {
+ Map.Entry entry = (Map.Entry) iter.next();
+ String optionName = (String) entry.getKey();
+ defaultPreferences.put(optionName, (String)entry.getValue());
+ optionNames.add(optionName);
+ }
+ defaultPreferences.put(FORMATTER_NEWLINE_OPENING_BRACE, DO_NOT_INSERT);
+ optionNames.add(FORMATTER_NEWLINE_OPENING_BRACE);
+
+ defaultPreferences.put(FORMATTER_NEWLINE_CONTROL, DO_NOT_INSERT);
+ optionNames.add(FORMATTER_NEWLINE_CONTROL);
+
+ defaultPreferences.put(FORMATTER_CLEAR_BLANK_LINES, PRESERVE_ONE);
+ optionNames.add(FORMATTER_CLEAR_BLANK_LINES);
+
+ defaultPreferences.put(FORMATTER_NEWLINE_ELSE_IF, DO_NOT_INSERT);
+ optionNames.add(FORMATTER_NEWLINE_ELSE_IF);
+
+ defaultPreferences.put(FORMATTER_NEWLINE_EMPTY_BLOCK, INSERT);
+ optionNames.add(FORMATTER_NEWLINE_EMPTY_BLOCK);
+
+ defaultPreferences.put(FORMATTER_LINE_SPLIT, "80"); //$NON-NLS-1$
+ optionNames.add(FORMATTER_LINE_SPLIT);
+
+ defaultPreferences.put(FORMATTER_COMPACT_ASSIGNMENT, NORMAL);
+ optionNames.add(FORMATTER_COMPACT_ASSIGNMENT);
+
+ defaultPreferences.put(FORMATTER_TAB_CHAR, TAB);
+ optionNames.add(FORMATTER_TAB_CHAR);
+
+ defaultPreferences.put(FORMATTER_TAB_SIZE, "4"); //$NON-NLS-1$
+ optionNames.add(FORMATTER_TAB_SIZE);
+
+ defaultPreferences.put(FORMATTER_SPACE_CASTEXPRESSION, INSERT); //$NON-NLS-1$
+ optionNames.add(FORMATTER_SPACE_CASTEXPRESSION);
+
+ // CodeAssist settings
+ defaultPreferences.put(CODEASSIST_VISIBILITY_CHECK, DISABLED); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_VISIBILITY_CHECK);
+
+ defaultPreferences.put(CODEASSIST_IMPLICIT_QUALIFICATION, DISABLED); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_IMPLICIT_QUALIFICATION);
+
+ defaultPreferences.put(CODEASSIST_FIELD_PREFIXES, ""); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_FIELD_PREFIXES);
+
+ defaultPreferences.put(CODEASSIST_STATIC_FIELD_PREFIXES, ""); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_STATIC_FIELD_PREFIXES);
+
+ defaultPreferences.put(CODEASSIST_LOCAL_PREFIXES, ""); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_LOCAL_PREFIXES);
+
+ defaultPreferences.put(CODEASSIST_ARGUMENT_PREFIXES, ""); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_ARGUMENT_PREFIXES);
+
+ defaultPreferences.put(CODEASSIST_FIELD_SUFFIXES, ""); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_FIELD_SUFFIXES);
+
+ defaultPreferences.put(CODEASSIST_STATIC_FIELD_SUFFIXES, ""); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_STATIC_FIELD_SUFFIXES);
+
+ defaultPreferences.put(CODEASSIST_LOCAL_SUFFIXES, ""); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_LOCAL_SUFFIXES);
+
+ defaultPreferences.put(CODEASSIST_ARGUMENT_SUFFIXES, ""); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_ARGUMENT_SUFFIXES);
+
+ defaultPreferences.put(CODEASSIST_RESTRICTIONS_CHECK, DISABLED); //$NON-NLS-1$
+ optionNames.add(CODEASSIST_RESTRICTIONS_CHECK);
+ }
/**
* Returns whether the given marker references the given Java element.
@@ -3865,7 +4002,7 @@ public final class JavaCore extends Plugin {
* @param newOptions the new options (key type: <code>String</code>; value type: <code>String</code>),
* or <code>null</code> to reset all options to their default values
* @see JavaCore#getDefaultOptions()
- * @see JavaCorePreferenceInitializer for changing default settings
+ * @see #initializeDefaultPreferences() for changing default settings
*/
public static void setOptions(Hashtable newOptions) {
@@ -3940,6 +4077,9 @@ public final class JavaCore extends Plugin {
public void start(BundleContext context) throws Exception {
super.start(context);
+ // init preferences
+ initializeDefaultPreferences();
+
final JavaModelManager manager = JavaModelManager.getJavaModelManager();
try {
manager.configurePluginDebugOptions();
diff --git a/org.eclipse.jdt.core/plugin.xml b/org.eclipse.jdt.core/plugin.xml
index 73376043b7..ef7eefc139 100644
--- a/org.eclipse.jdt.core/plugin.xml
+++ b/org.eclipse.jdt.core/plugin.xml
@@ -200,13 +200,5 @@
file-names="MANIFEST.MF"
default-charset="UTF-8"/>
</extension>
-
-<!-- =================================================================================== -->
-<!-- Extension: Eclipse preferences initializer -->
-<!-- =================================================================================== -->
-<extension
- point="org.eclipse.core.runtime.preferences">
- <initializer class="org.eclipse.jdt.internal.core.JavaCorePreferenceInitializer"/>
-</extension>
</plugin>

Back to the top