1 /*******************************************************************************
2  * Copyright (c) 2000, 2019 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *     Guven Demir <guven.internet+eclipse@gmail.com> - [package explorer] Alternative package name shortening: abbreviation - https://bugs.eclipse.org/bugs/show_bug.cgi?id=299514
14  *     Red Hat Inc - modify to use CodeGenerationSettingsConstants
15  *     Angelo Zerr <angelo.zerr@gmail.com> - [CodeMining] Provide Java References/Implementation CodeMinings - Bug 529127
16  *******************************************************************************/
17 package org.eclipse.jdt.ui;
18 
19 import java.util.Arrays;
20 import java.util.Locale;
21 import java.util.StringTokenizer;
22 
23 import org.eclipse.swt.SWT;
24 import org.eclipse.swt.graphics.RGB;
25 
26 import org.eclipse.core.runtime.Assert;
27 import org.eclipse.core.runtime.preferences.InstanceScope;
28 
29 import org.eclipse.jface.action.Action;
30 import org.eclipse.jface.preference.IPreferenceStore;
31 import org.eclipse.jface.preference.JFacePreferences;
32 import org.eclipse.jface.preference.PreferenceConverter;
33 import org.eclipse.jface.resource.JFaceResources;
34 
35 import org.eclipse.jface.text.contentassist.ContentAssistant;
36 
37 import org.eclipse.ui.PlatformUI;
38 
39 import org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants;
40 import org.eclipse.ui.texteditor.AbstractTextEditor;
41 
42 import org.eclipse.jdt.core.IClasspathEntry;
43 import org.eclipse.jdt.core.IJavaProject;
44 import org.eclipse.jdt.core.JavaCore;
45 import org.eclipse.jdt.core.manipulation.CodeStyleConfiguration;
46 import org.eclipse.jdt.core.manipulation.JavaManipulation;
47 
48 import org.eclipse.jdt.internal.core.manipulation.MembersOrderPreferenceCacheCommon;
49 import org.eclipse.jdt.internal.corext.codemanipulation.CodeGenerationSettingsConstants;
50 import org.eclipse.jdt.internal.corext.fix.CleanUpConstantsOptions;
51 
52 import org.eclipse.jdt.ui.text.IJavaColorConstants;
53 
54 import org.eclipse.jdt.internal.ui.JavaPlugin;
55 import org.eclipse.jdt.internal.ui.JavaUIPreferenceInitializer;
56 import org.eclipse.jdt.internal.ui.callhierarchy.CallHierarchyContentProvider;
57 import org.eclipse.jdt.internal.ui.callhierarchy.ExpandWithConstructorsConfigurationBlock;
58 import org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings;
59 import org.eclipse.jdt.internal.ui.preferences.NewJavaProjectPreferencePage;
60 import org.eclipse.jdt.internal.ui.preferences.formatter.FormatterProfileManager;
61 import org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerRegistry;
62 import org.eclipse.jdt.internal.ui.text.java.ProposalSorterRegistry;
63 import org.eclipse.jdt.internal.ui.text.spelling.SpellCheckEngine;
64 
65 
66 /**
67  * Preference constants used in the JDT-UI preference store. Clients should only read the
68  * JDT-UI preference store using these values. Clients are not allowed to modify the
69  * preference store programmatically.
70  * <p>
71  * This class it is not intended to be instantiated or subclassed by clients.
72  * </p>
73  *
74  * @since 2.0
75  *
76  * @noinstantiate This class is not intended to be instantiated by clients.
77  * @noextend This class is not intended to be subclassed by clients.
78  */
79 public class PreferenceConstants {
80 
PreferenceConstants()81 	private PreferenceConstants() {
82 	}
83 
84 	/**
85 	 * A named preference that controls return type rendering of methods in the UI.
86 	 * <p>
87 	 * Value is of type <code>Boolean</code>: if <code>true</code> return types
88 	 * are rendered
89 	 * </p>
90 	 */
91 	public static final String APPEARANCE_METHOD_RETURNTYPE= "org.eclipse.jdt.ui.methodreturntype";//$NON-NLS-1$
92 
93 	/**
94 	 * A named preference that controls type parameter rendering of methods in the UI.
95 	 * <p>
96 	 * Value is of type <code>Boolean</code>: if <code>true</code> return types
97 	 * are rendered
98 	 * </p>
99 	 * @since 3.1
100 	 */
101 	public static final String APPEARANCE_METHOD_TYPEPARAMETERS= "org.eclipse.jdt.ui.methodtypeparametesr";//$NON-NLS-1$
102 
103 	/**
104 	 * A named preference that controls if override indicators are rendered in the UI.
105 	 * <p>
106 	 * Value is of type <code>Boolean</code>: if <code>true</code> override
107 	 * indicators are rendered
108 	 * </p>
109 	 * @deprecated Override Indicator is now controlled on the platform's decorator preference page
110 	 */
111 	@Deprecated
112 	public static final String APPEARANCE_OVERRIDE_INDICATOR= "org.eclipse.jdt.ui.overrideindicator";//$NON-NLS-1$
113 
114 	/**
115 	 * A named preference that controls if quick assist light bulbs are shown.
116 	 * <p>
117 	 * Value is of type <code>Boolean</code>: if <code>true</code> light bulbs are shown
118 	 * for quick assists.
119 	 * </p>
120 	 *
121 	 * @since 3.0
122 	 */
123 	public static final String EDITOR_QUICKASSIST_LIGHTBULB="org.eclipse.jdt.quickassist.lightbulb"; //$NON-NLS-1$
124 
125 
126 
127 	/**
128 	 * A named preference that defines the pattern used for package name compression.
129 	 * <p>
130 	 * Value is of type <code>String</code>. For example for the given package name 'org.eclipse.jdt' pattern
131 	 * '.' will compress it to '..jdt', '1~' to 'o~.e~.jdt'.
132 	 * </p>
133 	 */
134 	public static final String APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW= "PackagesView.pkgNamePatternForPackagesView";//$NON-NLS-1$
135 
136 	/**
137 	 * A named preference that controls if package name compression is turned on or off.
138 	 * <p>
139 	 * Value is of type <code>Boolean</code>.
140 	 * </p>
141 	 *
142 	 * @see #APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW
143 	 */
144 	public static final String APPEARANCE_COMPRESS_PACKAGE_NAMES= "org.eclipse.jdt.ui.compresspackagenames";//$NON-NLS-1$
145 
146 	/**
147 	 * A named preference that defines the patterns used for package name abbreviation.
148 	 * <p>
149 	 * Value is of type <code>String</code>. Value is a newline separated list of
150 	 * packagePrefix=abbreviation pairs. For example, a pattern of 'javax.management=&lt;JMX&gt;'
151 	 * will abbreviate 'javax.management.monitor' to '&lt;JMX&gt;.monitor'. A '#' at the beginning
152 	 * of a line disables an entry.
153 	 * </p>
154 	 *
155 	 * @since 3.7
156 	 */
157 	public static final String APPEARANCE_PKG_NAME_ABBREVIATION_PATTERN_FOR_PKG_VIEW= "org.eclipse.jdt.ui.pkgNameAbbreviationPatternForPackagesView"; //$NON-NLS-1$
158 
159 	/**
160 	 * A named preference that controls if package name abbreviation is turned on or off.
161 	 * <p>
162 	 * Value is of type <code>Boolean</code>.
163 	 * </p>
164 	 *
165 	 * @see #APPEARANCE_PKG_NAME_ABBREVIATION_PATTERN_FOR_PKG_VIEW
166 	 * @since 3.7
167 	 */
168 	public static final String APPEARANCE_ABBREVIATE_PACKAGE_NAMES= "org.eclipse.jdt.ui.abbreviatepackagenames"; //$NON-NLS-1$
169 
170 	/**
171 	 * A named preference that controls if empty inner packages are folded in
172 	 * the hierarchical mode of the package explorer.
173 	 * <p>
174 	 * Value is of type <code>Boolean</code>: if <code>true</code> empty
175 	 * inner packages are folded.
176 	 * </p>
177 	 * @since 2.1
178 	 */
179 	public static final String APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER= "org.eclipse.jdt.ui.flatPackagesInPackageExplorer";//$NON-NLS-1$
180 
181 	/**
182 	 * A named preference that controls if entries of library containers are sorted alphabetically.
183 	 * <p>
184 	 * Value is of type <code>Boolean</code>: if <code>true</code> entries are sorted alphabetically, otherwise
185 	 * by their occurance order.
186 	 * </p>
187 	 * @since 3.14
188 	 */
189 	public static final String APPEARANCE_SORT_LIBRARY_ENTRIES_BY_NAME= "org.eclipse.jdt.ui.sortLibraryEntriesByName";//$NON-NLS-1$
190 
191 	/**
192 	 * A named preference that defines how member elements are ordered by the
193 	 * Java views using the <code>JavaElementSorter</code>.
194 	 * <p>
195 	 * Value is of type <code>String</code>: A comma separated list of the
196 	 * following entries. Each entry must be in the list, no duplication. List
197 	 * order defines the sort order.
198 	 * </p>
199 	 * <ul>
200 	 * <li><b>T</b>: Types</li>
201 	 * <li><b>C</b>: Constructors</li>
202 	 * <li><b>I</b>: Initializers</li>
203 	 * <li><b>M</b>: Methods</li>
204 	 * <li><b>F</b>: Fields</li>
205 	 * <li><b>SI</b>: Static Initializers</li>
206 	 * <li><b>SM</b>: Static Methods</li>
207 	 * <li><b>SF</b>: Static Fields</li>
208 	 * </ul>
209 	 * @since 2.1
210 	 */
211 	public static final String APPEARANCE_MEMBER_SORT_ORDER= MembersOrderPreferenceCacheCommon.APPEARANCE_MEMBER_SORT_ORDER;
212 
213 	/**
214 	 * A named preference that defines how member elements are ordered by visibility in the
215 	 * Java views using the <code>JavaElementSorter</code>.
216 	 * <p>
217 	 * Value is of type <code>String</code>: A comma separated list of the
218 	 * following entries. Each entry must be in the list, no duplication. List
219 	 * order defines the sort order.
220 	 * </p>
221 	 * <ul>
222 	 * <li><b>B</b>: Public</li>
223 	 * <li><b>V</b>: Private</li>
224 	 * <li><b>R</b>: Protected</li>
225 	 * <li><b>D</b>: Default</li>
226 	 * </ul>
227 	 * @since 3.0
228 	 */
229 	public static final String APPEARANCE_VISIBILITY_SORT_ORDER= MembersOrderPreferenceCacheCommon.APPEARANCE_VISIBILITY_SORT_ORDER;
230 
231 	/**
232 	 * A named preferences that controls if Java elements are also sorted by
233 	 * visibility.
234 	 * <p>
235 	 * Value is of type <code>Boolean</code>.
236 	 * </p>
237 	 * @since 3.0
238 	 */
239 	public static final String APPEARANCE_ENABLE_VISIBILITY_SORT_ORDER= MembersOrderPreferenceCacheCommon.APPEARANCE_ENABLE_VISIBILITY_SORT_ORDER;
240 
241 	/**
242 	 * A named preference that controls category rendering of Java elements in the UI.
243 	 * <p>
244 	 * Value is of type <code>Boolean</code>: if <code>true</code> category is rendered
245 	 * </p>
246 	 * @since 3.2
247 	 */
248 	public static final String APPEARANCE_CATEGORY= "org.eclipse.jdt.ui.category";//$NON-NLS-1$
249 
250 	/**
251 	 * The symbolic font name for the font used to display Javadoc
252 	 * (value <code>"org.eclipse.jdt.ui.javadocfont"</code>).
253 	 *
254 	 * @since 3.3
255 	 */
256 	public final static String APPEARANCE_JAVADOC_FONT= "org.eclipse.jdt.ui.javadocfont"; //$NON-NLS-1$
257 
258 	/**
259 	 * A named preference that controls if prefix removal during setter/getter generation is turned on or off.
260 	 * <p>
261 	 * Value is of type <code>Boolean</code>.
262 	 * </p>
263 	 * @deprecated Use JavaCore preference store (key JavaCore.
264 	 * CODEASSIST_FIELD_PREFIXES and CODEASSIST_STATIC_FIELD_PREFIXES)
265 	 */
266 	@Deprecated
267 	public static final String CODEGEN_USE_GETTERSETTER_PREFIX= "org.eclipse.jdt.ui.gettersetter.prefix.enable";//$NON-NLS-1$
268 
269 	/**
270 	 * A named preference that holds a list of prefixes to be removed from a local variable to compute setter
271 	 * and getter names.
272 	 * <p>
273 	 * Value is of type <code>String</code>: comma separated list of prefixed
274 	 * </p>
275 	 *
276 	 * @deprecated Use JavaCore preference store (key JavaCore.
277 	 * CODEASSIST_FIELD_PREFIXES and CODEASSIST_STATIC_FIELD_PREFIXES)
278 	 */
279 	@Deprecated
280 	public static final String CODEGEN_GETTERSETTER_PREFIX= "org.eclipse.jdt.ui.gettersetter.prefix.list";//$NON-NLS-1$
281 
282 	/**
283 	 * A named preference that controls if suffix removal during setter/getter generation is turned on or off.
284 	 * <p>
285 	 * Value is of type <code>Boolean</code>.
286 	 * </p>
287 	 * @deprecated Use JavaCore preference store (key JavaCore.
288 	 * CODEASSIST_FIELD_PREFIXES and CODEASSIST_STATIC_FIELD_PREFIXES)
289 	 */
290 	@Deprecated
291 	public static final String CODEGEN_USE_GETTERSETTER_SUFFIX= "org.eclipse.jdt.ui.gettersetter.suffix.enable";//$NON-NLS-1$
292 
293 	/**
294 	 * A named preference that holds a list of suffixes to be removed from a local variable to compute setter
295 	 * and getter names.
296 	 * <p>
297 	 * Value is of type <code>String</code>: comma separated list of suffixes
298 	 * </p>
299 	 * @deprecated Use setting from JavaCore preference store (key JavaCore.
300 	 * CODEASSIST_FIELD_SUFFIXES and CODEASSIST_STATIC_FIELD_SUFFIXES)
301 	 */
302 	@Deprecated
303 	public static final String CODEGEN_GETTERSETTER_SUFFIX= "org.eclipse.jdt.ui.gettersetter.suffix.list"; //$NON-NLS-1$
304 
305 	/**
306 	 * A named preference that controls whether the keyword "this" will be added
307 	 * automatically to field accesses in generated methods.
308 	 * <p>
309 	 * Value is of type <code>Boolean</code>.
310 	 * </p>
311 	 * @since 3.0
312 	 */
313 	public static final String CODEGEN_KEYWORD_THIS= CodeGenerationSettingsConstants.CODEGEN_KEYWORD_THIS;
314 
315 	/**
316 	 * A named preference that controls whether automatically created getters which return a boolean
317 	 * field should start with "is" or should be prefixed with "get".
318 	 * <p>
319 	 * If <code>true</code> and if the field starts with "is" then the created getter name will not
320 	 * be additionally prefixed and "is" will not be part of the setter name.
321 	 * </p>
322 	 * <p>
323 	 * Value is of type <code>Boolean</code>.
324 	 * </p>
325 	 *
326 	 * @since 3.0
327 	 */
328 	public static final String CODEGEN_IS_FOR_GETTERS= "org.eclipse.jdt.ui.gettersetter.use.is"; //$NON-NLS-1$
329 
330 
331 	/**
332 	 * A named preference that defines the preferred variable names for exceptions in
333 	 * catch clauses.
334 	 * <p>
335 	 * Value is of type <code>String</code>.
336 	 * </p>
337 	 * @since 3.0
338 	 */
339 	public static final String CODEGEN_EXCEPTION_VAR_NAME= "org.eclipse.jdt.ui.exception.name"; //$NON-NLS-1$
340 
341 	/**
342 	 * A named preference that controls if comment stubs will be added
343 	 * automatically to newly created types and methods.
344 	 * <p>
345 	 * Value is of type <code>Boolean</code>.
346 	 * </p>
347 	 * @since 2.1
348 	 */
349 	public static final String CODEGEN_ADD_COMMENTS= CodeGenerationSettingsConstants.CODEGEN_ADD_COMMENTS;
350 
351 	/**
352 	 * A named preference that controls if a comment stubs will be added
353 	 * automatically to newly created types and methods.
354 	 * <p>
355 	 * Value is of type <code>Boolean</code>.
356 	 * </p>
357 	 * @deprecated Use CODEGEN_ADD_COMMENTS instead (Name is more precise).
358 	 */
359 	@Deprecated
360 	public static final String CODEGEN__JAVADOC_STUBS= CODEGEN_ADD_COMMENTS;
361 
362 	/**
363 	 * A named preference that controls if a non-javadoc comment gets added to methods generated via the
364 	 * "Override Methods" operation.
365 	 * <p>
366 	 * Value is of type <code>Boolean</code>.
367 	 * </p>
368 	 * @deprecated New code template story: user can
369 	 * specify the overriding method comment.
370 	 */
371 	@Deprecated
372 	public static final String CODEGEN__NON_JAVADOC_COMMENTS= "org.eclipse.jdt.ui.seecomments"; //$NON-NLS-1$
373 
374 	/**
375 	 * A named preference that controls if a file comment gets added to newly created files.
376 	 * <p>
377 	 * Value is of type <code>Boolean</code>.
378 	 * </p>
379 	 * @deprecated New code template story: user can
380 	 * specify the new file code template.
381 	 */
382 	@Deprecated
383 	public static final String CODEGEN__FILE_COMMENTS= "org.eclipse.jdt.ui.filecomments"; //$NON-NLS-1$
384 
385 	/**
386 	 * A named preference that controls whether to add a override annotation for newly created methods
387 	 * <p>
388 	 * Value is of type <code>Boolean</code>.
389 	 * </p>
390 	 * @since 3.1
391 	 */
392 	public static final String CODEGEN_USE_OVERRIDE_ANNOTATION= CodeGenerationSettingsConstants.CODEGEN_USE_OVERRIDE_ANNOTATION;
393 
394 	/**
395 	 * A named preference that holds a list of semicolon separated fully qualified type names with wild card characters.
396 	 * @since 3.0
397 	 */
398 	public static final String TYPEFILTER_ENABLED= "org.eclipse.jdt.ui.typefilter.enabled"; //$NON-NLS-1$
399 
400 	/**
401 	 * A named preference that holds a list of semicolon separated fully qualified type names with wild card characters.
402 	 * @since 3.0
403 	 */
404 	public static final String TYPEFILTER_DISABLED= "org.eclipse.jdt.ui.typefilter.disabled"; //$NON-NLS-1$
405 
406 
407 	/**
408 	 * A named preference that holds a list of semicolon separated package names. The list specifies the import order used by
409 	 * the "Organize Imports" operation.
410 	 * <p>
411 	 * Value is of type <code>String</code>: semicolon separated list of package
412 	 * names
413 	 * </p>
414 	 */
415 	public static final String ORGIMPORTS_IMPORTORDER= CodeStyleConfiguration.ORGIMPORTS_IMPORTORDER;
416 
417 	/**
418 	 * A named preference that specifies the number of imports added before a star-import declaration is used.
419 	 * <p>
420 	 * Value is of type <code>Integer</code>: positive value specifying the number of non star-import is used
421 	 * </p>
422 	 */
423 	public static final String ORGIMPORTS_ONDEMANDTHRESHOLD= CodeStyleConfiguration.ORGIMPORTS_ONDEMANDTHRESHOLD;
424 
425 	/**
426 	 * A named preference that specifies the number of static imports added before a star-import declaration is used.
427 	 * <p>
428 	 * Value is of type <code>Integer</code>: positive value specifying the number of non star-import is used
429 	 * </p>
430 	 * @since 3.2
431 	 */
432 	public static final String ORGIMPORTS_STATIC_ONDEMANDTHRESHOLD= CodeStyleConfiguration.ORGIMPORTS_STATIC_ONDEMANDTHRESHOLD;
433 
434 	/**
435 	 * A named preferences that controls if types that start with a lower case letters get added by the
436 	 * "Organize Import" operation.
437 	 * <p>
438 	 * Value is of type <code>Boolean</code>.
439 	 * </p>
440 	 */
441 	public static final String ORGIMPORTS_IGNORELOWERCASE= CodeGenerationSettingsConstants.ORGIMPORTS_IGNORELOWERCASE;
442 
443 	/**
444 	 * A named preference that specifies whether children of a compilation unit are shown in the package explorer.
445 	 * <p>
446 	 * Value is of type <code>Boolean</code>.
447 	 * </p>
448 	 */
449 	public static final String SHOW_CU_CHILDREN= "org.eclipse.jdt.ui.packages.cuchildren"; //$NON-NLS-1$
450 
451 	/**
452 	 * A named preference that controls whether the package explorer's selection is linked to the active editor.
453 	 * <p>
454 	 * Value is of type <code>Boolean</code>.
455 	 * </p>
456 	 * @deprecated Since 3.3. Not used anymore. Package view always restores with the last recently used setting.
457 	 */
458 	@Deprecated
459 	public static final String LINK_PACKAGES_TO_EDITOR= "org.eclipse.jdt.ui.packages.linktoeditor"; //$NON-NLS-1$
460 
461 	/**
462 	 * A named preference that controls whether the hierarchy view's selection is linked to the active editor.
463 	 * <p>
464 	 * Value is of type <code>Boolean</code>.
465 	 * </p>
466 	 * @deprecated Since 3.3. Not used anymore. Type hierarchy view always restores with the last recently used setting.
467 	 */
468 	@Deprecated
469 	public static final String LINK_TYPEHIERARCHY_TO_EDITOR= "org.eclipse.jdt.ui.packages.linktypehierarchytoeditor"; //$NON-NLS-1$
470 
471 	/**
472 	 * A named preference that controls whether the projects view's selection is
473 	 * linked to the active editor.
474 	 * <p>
475 	 * Value is of type <code>Boolean</code>.
476 	 * </p>
477 	 * @since 2.1
478 	 */
479 	public static final String LINK_BROWSING_PROJECTS_TO_EDITOR= "org.eclipse.jdt.ui.browsing.projectstoeditor"; //$NON-NLS-1$
480 
481 	/**
482 	 * A named preference that controls whether the packages view's selection is
483 	 * linked to the active editor.
484 	 * <p>
485 	 * Value is of type <code>Boolean</code>.
486 	 * </p>
487 	 * @since 2.1
488 	 */
489 	public static final String LINK_BROWSING_PACKAGES_TO_EDITOR= "org.eclipse.jdt.ui.browsing.packagestoeditor"; //$NON-NLS-1$
490 
491 
492 
493 	/**
494 	 * A named preference that controls whether the types view's selection is
495 	 * linked to the active editor.
496 	 * <p>
497 	 * Value is of type <code>Boolean</code>.
498 	 * </p>
499 	 * @since 2.1
500 	 */
501 	public static final String LINK_BROWSING_TYPES_TO_EDITOR= "org.eclipse.jdt.ui.browsing.typestoeditor"; //$NON-NLS-1$
502 
503 	/**
504 	 * A named preference that controls whether the members view's selection is
505 	 * linked to the active editor.
506 	 * <p>
507 	 * Value is of type <code>Boolean</code>.
508 	 * </p>
509 	 * @since 2.1
510 	 */
511 	public static final String LINK_BROWSING_MEMBERS_TO_EDITOR= "org.eclipse.jdt.ui.browsing.memberstoeditor"; //$NON-NLS-1$
512 	/**
513 	 * A named preference that controls whether new projects are generated using source and output folder.
514 	 * <p>
515 	 * Value is of type <code>Boolean</code>. if <code>true</code> new projects are created with a source and
516 	 * output folder. If <code>false</code> source and output folder equals to the project.
517 	 * </p>
518 	 */
519 	public static final String SRCBIN_FOLDERS_IN_NEWPROJ= "org.eclipse.jdt.ui.wizards.srcBinFoldersInNewProjects"; //$NON-NLS-1$
520 
521 	/**
522 	 * A named preference that specifies the source folder name used when creating a new Java project. Value is inactive
523 	 * if <code>SRCBIN_FOLDERS_IN_NEWPROJ</code> is set to <code>false</code>.
524 	 * <p>
525 	 * Value is of type <code>String</code>.
526 	 * </p>
527 	 *
528 	 * @see #SRCBIN_FOLDERS_IN_NEWPROJ
529 	 */
530 	public static final String SRCBIN_SRCNAME= "org.eclipse.jdt.ui.wizards.srcBinFoldersSrcName"; //$NON-NLS-1$
531 
532 	/**
533 	 * A named preference that specifies the output folder name used when creating a new Java project. Value is inactive
534 	 * if <code>SRCBIN_FOLDERS_IN_NEWPROJ</code> is set to <code>false</code>.
535 	 * <p>
536 	 * Value is of type <code>String</code>.
537 	 * </p>
538 	 *
539 	 * @see #SRCBIN_FOLDERS_IN_NEWPROJ
540 	 */
541 	public static final String SRCBIN_BINNAME= "org.eclipse.jdt.ui.wizards.srcBinFoldersBinName"; //$NON-NLS-1$
542 
543 	/**
544 	 * A named preference that holds a list of possible JRE libraries used by the New Java Project wizard. A library
545 	 * consists of a description and an arbitrary number of <code>IClasspathEntry</code>s, that will represent the
546 	 * JRE on the new project's class path.
547 	 * <p>
548 	 * Value is of type <code>String</code>: a semicolon separated list of encoded JRE libraries.
549 	 * <code>NEWPROJECT_JRELIBRARY_INDEX</code> defines the currently used library. Clients
550 	 * should use the method <code>encodeJRELibrary</code> to encode a JRE library into a string
551 	 * and the methods <code>decodeJRELibraryDescription(String)</code> and <code>
552 	 * decodeJRELibraryClasspathEntries(String)</code> to decode the description and the array
553 	 * of class path entries from an encoded string.
554 	 * </p>
555 	 *
556 	 * @see #NEWPROJECT_JRELIBRARY_INDEX
557 	 * @see #encodeJRELibrary(String, IClasspathEntry[])
558 	 * @see #decodeJRELibraryDescription(String)
559 	 * @see #decodeJRELibraryClasspathEntries(String)
560 	 */
561 	public static final String NEWPROJECT_JRELIBRARY_LIST= "org.eclipse.jdt.ui.wizards.jre.list"; //$NON-NLS-1$
562 
563 	/**
564 	 * A named preferences that specifies the current active JRE library.
565 	 * <p>
566 	 * Value is of type <code>Integer</code>: an index into the list of possible JRE libraries.
567 	 * </p>
568 	 *
569 	 * @see #NEWPROJECT_JRELIBRARY_LIST
570 	 */
571 	public static final String NEWPROJECT_JRELIBRARY_INDEX= "org.eclipse.jdt.ui.wizards.jre.index"; //$NON-NLS-1$
572 
573 	/**
574 	 * A named preference that controls if a new type hierarchy gets opened in a
575 	 * new type hierarchy perspective or inside the type hierarchy view part.
576 	 * <p>
577 	 * Value is of type <code>String</code>: possible values are <code>
578 	 * OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE</code> or <code>
579 	 * OPEN_TYPE_HIERARCHY_IN_VIEW_PART</code>.
580 	 * </p>
581 	 *
582 	 * @see #OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE
583 	 * @see #OPEN_TYPE_HIERARCHY_IN_VIEW_PART
584 	 */
585 	public static final String OPEN_TYPE_HIERARCHY= "org.eclipse.jdt.ui.openTypeHierarchy"; //$NON-NLS-1$
586 
587 	/**
588 	 * A string value used by the named preference <code>OPEN_TYPE_HIERARCHY</code>.
589 	 *
590 	 * @see #OPEN_TYPE_HIERARCHY
591 	 */
592 	public static final String OPEN_TYPE_HIERARCHY_IN_PERSPECTIVE= "perspective"; //$NON-NLS-1$
593 
594 	/**
595 	 * A string value used by the named preference <code>OPEN_TYPE_HIERARCHY</code>.
596 	 *
597 	 * @see #OPEN_TYPE_HIERARCHY
598 	 */
599 	public static final String OPEN_TYPE_HIERARCHY_IN_VIEW_PART= "viewPart"; //$NON-NLS-1$
600 
601 	/**
602 	 * A named preference that controls the behavior when double clicking on a container in the packages view.
603 	 * <p>
604 	 * Value is of type <code>String</code>: possible values are <code>
605 	 * DOUBLE_CLICK_GOES_INTO</code> or <code>
606 	 * DOUBLE_CLICK_EXPANDS</code>.
607 	 * </p>
608 	 *
609 	 * @see #DOUBLE_CLICK_EXPANDS
610 	 * @see #DOUBLE_CLICK_GOES_INTO
611 	 */
612 	public static final String DOUBLE_CLICK= "packageview.doubleclick"; //$NON-NLS-1$
613 
614 	/**
615 	 * A string value used by the named preference <code>DOUBLE_CLICK</code>.
616 	 *
617 	 * @see #DOUBLE_CLICK
618 	 */
619 	public static final String DOUBLE_CLICK_GOES_INTO= "packageview.gointo"; //$NON-NLS-1$
620 
621 	/**
622 	 * A string value used by the named preference <code>DOUBLE_CLICK</code>.
623 	 *
624 	 * @see #DOUBLE_CLICK
625 	 */
626 	public static final String DOUBLE_CLICK_EXPANDS= "packageview.doubleclick.expands"; //$NON-NLS-1$
627 
628 	/**
629 	 * A named preference that controls whether Java views update their presentation while editing or when saving the
630 	 * content of an editor.
631 	 * <p>
632 	 * Value is of type <code>String</code>: possible values are <code>
633 	 * UPDATE_ON_SAVE</code> or <code>
634 	 * UPDATE_WHILE_EDITING</code>.
635 	 * </p>
636 	 *
637 	 * @see #UPDATE_ON_SAVE
638 	 * @see #UPDATE_WHILE_EDITING
639 	 * @deprecated Since 3.0, views now always update while editing
640 	 */
641 	@Deprecated
642 	public static final String UPDATE_JAVA_VIEWS= "JavaUI.update"; //$NON-NLS-1$
643 
644 	/**
645 	 * A string value used by the named preference <code>UPDATE_JAVA_VIEWS</code>
646 	 *
647 	 * @see #UPDATE_JAVA_VIEWS
648 	 * @deprecated Since 3.0, views now always update while editing
649 	 */
650 	@Deprecated
651 	public static final String UPDATE_ON_SAVE= "JavaUI.update.onSave"; //$NON-NLS-1$
652 
653 	/**
654 	 * A string value used by the named preference <code>UPDATE_JAVA_VIEWS</code>
655 	 *
656 	 * @see #UPDATE_JAVA_VIEWS
657 	 * @deprecated Since 3.0, views now always update while editing
658 	 */
659 	@Deprecated
660 	public static final String UPDATE_WHILE_EDITING= "JavaUI.update.whileEditing"; //$NON-NLS-1$
661 
662 	/**
663 	 * A named preference that holds the path of the Javadoc command used by the Javadoc creation wizard.
664 	 * <p>
665 	 * Value is of type <code>String</code>.
666 	 * </p>
667 	 */
668 	public static final String JAVADOC_COMMAND= "command"; //$NON-NLS-1$
669 
670 	/**
671 	 * A named preference that defines whether the hint to make hover sticky should be shown.
672 	 *
673 	 * @see JavaUI
674 	 * @since 3.0
675 	 * @deprecated As of 3.3, replaced by {@link AbstractDecoratedTextEditorPreferenceConstants#EDITOR_SHOW_TEXT_HOVER_AFFORDANCE}
676 	 */
677 	@Deprecated
678 	public static final String EDITOR_SHOW_TEXT_HOVER_AFFORDANCE= "PreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE"; //$NON-NLS-1$
679 
680 	/**
681 	 * A named preference that defines the key for the hover modifiers.
682 	 *
683 	 * @see JavaUI
684 	 * @since 2.1
685 	 */
686 	public static final String EDITOR_TEXT_HOVER_MODIFIERS= "hoverModifiers"; //$NON-NLS-1$
687 
688 	/**
689 	 * A named preference that defines the key for the hover modifier state masks.
690 	 * The value is only used if the value of <code>EDITOR_TEXT_HOVER_MODIFIERS</code>
691 	 * cannot be resolved to valid SWT modifier bits.
692 	 *
693 	 * @see JavaUI
694 	 * @see #EDITOR_TEXT_HOVER_MODIFIERS
695 	 * @since 2.1.1
696 	 */
697 	public static final String EDITOR_TEXT_HOVER_MODIFIER_MASKS= "hoverModifierMasks"; //$NON-NLS-1$
698 
699 	/**
700 	 * The id of the best match hover contributed for extension point
701 	 * <code>javaEditorTextHovers</code>.
702 	 *
703 	 * @since 2.1
704 	 */
705 	public static final String ID_BESTMATCH_HOVER= "org.eclipse.jdt.ui.BestMatchHover"; //$NON-NLS-1$
706 
707 	/**
708 	 * The id of the source code hover contributed for extension point
709 	 * <code>javaEditorTextHovers</code>.
710 	 *
711 	 * @since 2.1
712 	 */
713 	public static final String ID_SOURCE_HOVER= "org.eclipse.jdt.ui.JavaSourceHover"; //$NON-NLS-1$
714 
715 	/**
716 	 * The id of the javadoc hover contributed for extension point
717 	 * <code>javaEditorTextHovers</code>.
718 	 *
719 	 * @since 2.1
720 	 */
721 	public static final String ID_JAVADOC_HOVER= "org.eclipse.jdt.ui.JavadocHover"; //$NON-NLS-1$
722 
723 	/**
724 	 * The id of the problem hover contributed for extension point
725 	 * <code>javaEditorTextHovers</code>.
726 	 *
727 	 * @since 2.1
728 	 * @deprecated as of 3.0, this hover is no longer available
729 	 */
730 	@Deprecated
731 	public static final String ID_PROBLEM_HOVER= "org.eclipse.jdt.ui.ProblemHover"; //$NON-NLS-1$
732 
733 	/**
734 	 * A named preference that controls whether bracket matching highlighting is turned on or off.
735 	 * <p>
736 	 * Value is of type <code>Boolean</code>.
737 	 * </p>
738 	 */
739 	public final static String EDITOR_MATCHING_BRACKETS= "matchingBrackets"; //$NON-NLS-1$
740 
741 	/**
742 	 * A named preference that controls whether bracket at caret location is highlighted or not.
743 	 * <p>
744 	 * Value is of type <code>Boolean</code>.
745 	 * </p>
746 	 *
747 	 * @since 3.8
748 	 */
749 	public final static String EDITOR_HIGHLIGHT_BRACKET_AT_CARET_LOCATION= "highlightBracketAtCaretLocation"; //$NON-NLS-1$
750 
751 	/**
752 	 * A named preference that controls whether enclosing bracket matching highlighting is turned on
753 	 * or off.
754 	 * <p>
755 	 * Value is of type <code>Boolean</code>.
756 	 * </p>
757 	 *
758 	 * @since 3.8
759 	 */
760 	public final static String EDITOR_ENCLOSING_BRACKETS= "enclosingBrackets"; //$NON-NLS-1$
761 
762 	/**
763 	 * A named preference that holds the color used to highlight matching brackets.
764 	 * <p>
765 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
766 	 * using class <code>PreferenceConverter</code>
767 	 * </p>
768 	 *
769 	 * @see org.eclipse.jface.resource.StringConverter
770 	 * @see org.eclipse.jface.preference.PreferenceConverter
771 	 */
772 	public final static String EDITOR_MATCHING_BRACKETS_COLOR=  "matchingBracketsColor"; //$NON-NLS-1$
773 
774 	/**
775 	 * A named preference that controls whether the current line highlighting is turned on or off.
776 	 * <p>
777 	 * Value is of type <code>Boolean</code>.
778 	 * </p>
779 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants}
780 	 */
781 	@Deprecated
782 	public final static String EDITOR_CURRENT_LINE= "currentLine"; //$NON-NLS-1$
783 
784 	/**
785 	 * A named preference that holds the color used to highlight the current line.
786 	 * <p>
787 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
788 	 * using class <code>PreferenceConverter</code>
789 	 * </p>
790 	 *
791 	 * @see org.eclipse.jface.resource.StringConverter
792 	 * @see org.eclipse.jface.preference.PreferenceConverter
793 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants}
794 	 */
795 	@Deprecated
796 	public final static String EDITOR_CURRENT_LINE_COLOR= "currentLineColor"; //$NON-NLS-1$
797 
798 	/**
799 	 * A named preference that controls whether the print margin is turned on or off.
800 	 * <p>
801 	 * Value is of type <code>Boolean</code>.
802 	 * </p>
803 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants}
804 	 */
805 	@Deprecated
806 	public final static String EDITOR_PRINT_MARGIN= "printMargin"; //$NON-NLS-1$
807 
808 	/**
809 	 * A named preference that holds the color used to render the print margin.
810 	 * <p>
811 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
812 	 * using class <code>PreferenceConverter</code>
813 	 * </p>
814 	 *
815 	 * @see org.eclipse.jface.resource.StringConverter
816 	 * @see org.eclipse.jface.preference.PreferenceConverter
817 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants}
818 	 */
819 	@Deprecated
820 	public final static String EDITOR_PRINT_MARGIN_COLOR= "printMarginColor"; //$NON-NLS-1$
821 
822 	/**
823 	 * Print margin column. Integer value.
824 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants}
825 	 */
826 	@Deprecated
827 	public final static String EDITOR_PRINT_MARGIN_COLUMN= "printMarginColumn"; //$NON-NLS-1$
828 
829 	/**
830 	 * A named preference that holds the color used for the find/replace scope.
831 	 * <p>
832 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
833 	 * using class <code>PreferenceConverter</code>
834 	 * </p>
835 	 *
836 	 * @see org.eclipse.jface.resource.StringConverter
837 	 * @see org.eclipse.jface.preference.PreferenceConverter
838 	 * @deprecated As of 3.2, use {@link AbstractTextEditor#PREFERENCE_COLOR_FIND_SCOPE} instead}
839 	 */
840 	@Deprecated
841 	public final static String EDITOR_FIND_SCOPE_COLOR= AbstractTextEditor.PREFERENCE_COLOR_FIND_SCOPE;
842 
843 	/**
844 	 * A named preference that specifies if the editor uses spaces for tabs.
845 	 * <p>
846 	 * Value is of type <code>Boolean</code>. If <code>true</code>spaces instead of tabs are used
847 	 * in the editor. If <code>false</code> the editor inserts a tab character when pressing the tab
848 	 * key.
849 	 * </p>
850 	 * @deprecated As of 3.1 replaced by the formatter setting defined in {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_TAB_CHAR}
851 	 */
852 	@Deprecated
853 	public final static String EDITOR_SPACES_FOR_TABS= "spacesForTabs"; //$NON-NLS-1$
854 
855 	/**
856 	 * A named preference that holds the number of spaces used per tab in the editor.
857 	 * <p>
858 	 * Value is of type <code>Integer</code>: positive integer value specifying the number of
859 	 * spaces per tab.
860 	 * </p>
861 	 * @deprecated As of 3.0 replaced by {@link AbstractDecoratedTextEditorPreferenceConstants#EDITOR_TAB_WIDTH}
862 	 */
863 	@Deprecated
864 	public final static String EDITOR_TAB_WIDTH= "org.eclipse.jdt.ui.editor.tab.width"; //$NON-NLS-1$
865 
866 	/**
867 	 * A named preference that controls whether the outline view selection
868 	 * should stay in sync with with the element at the current cursor position.
869 	 * <p>
870 	 * Value is of type <code>Boolean</code>.
871 	 * </p>
872 	 * @since 2.1
873 	 */
874 	public final static String EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE= "JavaEditor.SyncOutlineOnCursorMove"; //$NON-NLS-1$
875 
876 	/**
877 	 * A named preference that controls if correction indicators are shown in the UI.
878 	 * <p>
879 	 * Value is of type <code>Boolean</code>.
880 	 * </p>
881 	 */
882 	public final static String EDITOR_CORRECTION_INDICATION= "JavaEditor.ShowTemporaryProblem"; //$NON-NLS-1$
883 
884 	/**
885 	 * A named preference that controls whether the editor shows problem indicators in text (squiggly lines).
886 	 * <p>
887 	 * Value is of type <code>Boolean</code>.
888 	 * </p>
889 	 *
890 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
891 	 */
892 	@Deprecated
893 	public final static String EDITOR_PROBLEM_INDICATION= "problemIndication"; //$NON-NLS-1$
894 
895 	/**
896 	 * A named preference that holds the color used to render problem indicators.
897 	 * <p>
898 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
899 	 * using class <code>PreferenceConverter</code>
900 	 * </p>
901 	 *
902 	 * @see #EDITOR_PROBLEM_INDICATION
903 	 * @see org.eclipse.jface.resource.StringConverter
904 	 * @see org.eclipse.jface.preference.PreferenceConverter
905 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
906 	 */
907 	@Deprecated
908 	public final static String EDITOR_PROBLEM_INDICATION_COLOR= "problemIndicationColor"; //$NON-NLS-1$
909 
910 	/**
911 	 * A named preference that controls whether the editor shows warning indicators in text (squiggly lines).
912 	 * <p>
913 	 * Value is of type <code>Boolean</code>.
914 	 * </p>
915 	 * @since 2.1
916 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
917 	 */
918 	@Deprecated
919 	public final static String EDITOR_WARNING_INDICATION= "warningIndication"; //$NON-NLS-1$
920 
921 	/**
922 	 * A named preference that holds the color used to render warning indicators.
923 	 * <p>
924 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
925 	 * using class <code>PreferenceConverter</code>
926 	 * </p>
927 	 *
928 	 * @see #EDITOR_WARNING_INDICATION
929 	 * @see org.eclipse.jface.resource.StringConverter
930 	 * @see org.eclipse.jface.preference.PreferenceConverter
931 	 * @since 2.1
932 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
933 	 */
934 	@Deprecated
935 	public final static String EDITOR_WARNING_INDICATION_COLOR= "warningIndicationColor"; //$NON-NLS-1$
936 
937 	/**
938 	 * A named preference that controls whether the editor shows task indicators in text (squiggly lines).
939 	 * <p>
940 	 * Value is of type <code>Boolean</code>.
941 	 * </p>
942 	 * @since 2.1
943 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
944 	 */
945 	@Deprecated
946 	public final static String EDITOR_TASK_INDICATION= "taskIndication"; //$NON-NLS-1$
947 
948 	/**
949 	 * A named preference that holds the color used to render task indicators.
950 	 * <p>
951 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
952 	 * using class <code>PreferenceConverter</code>
953 	 * </p>
954 	 *
955 	 * @see #EDITOR_TASK_INDICATION
956 	 * @see org.eclipse.jface.resource.StringConverter
957 	 * @see org.eclipse.jface.preference.PreferenceConverter
958 	 * @since 2.1
959 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
960 	 */
961 	@Deprecated
962 	public final static String EDITOR_TASK_INDICATION_COLOR= "taskIndicationColor"; //$NON-NLS-1$
963 
964 	/**
965 	 * A named preference that controls whether the editor shows bookmark
966 	 * indicators in text (squiggly lines).
967 	 * <p>
968 	 * Value is of type <code>Boolean</code>.
969 	 * </p>
970 	 * @since 2.1
971 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
972 	 */
973 	@Deprecated
974 	public final static String EDITOR_BOOKMARK_INDICATION= "bookmarkIndication"; //$NON-NLS-1$
975 
976 	/**
977 	 * A named preference that holds the color used to render bookmark indicators.
978 	 * <p>
979 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
980 	 * using class <code>PreferenceConverter</code>
981 	 * </p>
982 	 *
983 	 * @see #EDITOR_BOOKMARK_INDICATION
984 	 * @see org.eclipse.jface.resource.StringConverter
985 	 * @see org.eclipse.jface.preference.PreferenceConverter
986 	 * @since 2.1
987 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
988 	 */
989 	@Deprecated
990 	public final static String EDITOR_BOOKMARK_INDICATION_COLOR= "bookmarkIndicationColor"; //$NON-NLS-1$
991 
992 	/**
993 	 * A named preference that controls whether the editor shows search
994 	 * indicators in text (squiggly lines).
995 	 * <p>
996 	 * Value is of type <code>Boolean</code>.
997 	 * </p>
998 	 * @since 2.1
999 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1000 	 */
1001 	@Deprecated
1002 	public final static String EDITOR_SEARCH_RESULT_INDICATION= "searchResultIndication"; //$NON-NLS-1$
1003 
1004 	/**
1005 	 * A named preference that holds the color used to render search indicators.
1006 	 * <p>
1007 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1008 	 * using class <code>PreferenceConverter</code>
1009 	 * </p>
1010 	 *
1011 	 * @see #EDITOR_SEARCH_RESULT_INDICATION
1012 	 * @see org.eclipse.jface.resource.StringConverter
1013 	 * @see org.eclipse.jface.preference.PreferenceConverter
1014 	 * @since 2.1
1015 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1016 	 */
1017 	@Deprecated
1018 	public final static String EDITOR_SEARCH_RESULT_INDICATION_COLOR= "searchResultIndicationColor"; //$NON-NLS-1$
1019 
1020 	/**
1021 	 * A named preference that controls whether the editor shows unknown
1022 	 * indicators in text (squiggly lines).
1023 	 * <p>
1024 	 * Value is of type <code>Boolean</code>.
1025 	 * </p>
1026 	 * @since 2.1
1027 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1028 	 */
1029 	@Deprecated
1030 	public final static String EDITOR_UNKNOWN_INDICATION= "othersIndication"; //$NON-NLS-1$
1031 
1032 	/**
1033 	 * A named preference that holds the color used to render unknown
1034 	 * indicators.
1035 	 * <p>
1036 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1037 	 * using class <code>PreferenceConverter</code>
1038 	 * </p>
1039 	 *
1040 	 * @see #EDITOR_UNKNOWN_INDICATION
1041 	 * @see org.eclipse.jface.resource.StringConverter
1042 	 * @see org.eclipse.jface.preference.PreferenceConverter
1043 	 * @since 2.1
1044 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1045 	 */
1046 	@Deprecated
1047 	public final static String EDITOR_UNKNOWN_INDICATION_COLOR= "othersIndicationColor"; //$NON-NLS-1$
1048 
1049 	/**
1050 	 * A named preference that controls whether the overview ruler shows error
1051 	 * indicators.
1052 	 * <p>
1053 	 * Value is of type <code>Boolean</code>.
1054 	 * </p>
1055 	 * @since 2.1
1056 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1057 	 */
1058 	@Deprecated
1059 	public final static String EDITOR_ERROR_INDICATION_IN_OVERVIEW_RULER= "errorIndicationInOverviewRuler"; //$NON-NLS-1$
1060 
1061 	/**
1062 	 * A named preference that controls whether the overview ruler shows warning
1063 	 * indicators.
1064 	 * <p>
1065 	 * Value is of type <code>Boolean</code>.
1066 	 * </p>
1067 	 * @since 2.1
1068 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1069 	 */
1070 	@Deprecated
1071 	public final static String EDITOR_WARNING_INDICATION_IN_OVERVIEW_RULER= "warningIndicationInOverviewRuler"; //$NON-NLS-1$
1072 
1073 	/**
1074 	 * A named preference that controls whether the overview ruler shows task
1075 	 * indicators.
1076 	 * <p>
1077 	 * Value is of type <code>Boolean</code>.
1078 	 * </p>
1079 	 * @since 2.1
1080 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1081 	 */
1082 	@Deprecated
1083 	public final static String EDITOR_TASK_INDICATION_IN_OVERVIEW_RULER= "taskIndicationInOverviewRuler"; //$NON-NLS-1$
1084 
1085 	/**
1086 	 * A named preference that controls whether the overview ruler shows
1087 	 * bookmark indicators.
1088 	 * <p>
1089 	 * Value is of type <code>Boolean</code>.
1090 	 * </p>
1091 	 * @since 2.1
1092 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1093 	 */
1094 	@Deprecated
1095 	public final static String EDITOR_BOOKMARK_INDICATION_IN_OVERVIEW_RULER= "bookmarkIndicationInOverviewRuler"; //$NON-NLS-1$
1096 
1097 	/**
1098 	 * A named preference that controls whether the overview ruler shows
1099 	 * search result indicators.
1100 	 * <p>
1101 	 * Value is of type <code>Boolean</code>.
1102 	 * </p>
1103 	 * @since 2.1
1104 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1105 	 */
1106 	@Deprecated
1107 	public final static String EDITOR_SEARCH_RESULT_INDICATION_IN_OVERVIEW_RULER= "searchResultIndicationInOverviewRuler"; //$NON-NLS-1$
1108 
1109 	/**
1110 	 * A named preference that controls whether the overview ruler shows
1111 	 * unknown indicators.
1112 	 * <p>
1113 	 * Value is of type <code>Boolean</code>.
1114 	 * </p>
1115 	 * @since 2.1
1116 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.MarkerAnnotationPreferences}
1117 	 */
1118 	@Deprecated
1119 	public final static String EDITOR_UNKNOWN_INDICATION_IN_OVERVIEW_RULER= "othersIndicationInOverviewRuler"; //$NON-NLS-1$
1120 
1121 	/**
1122 	 * A named preference that controls whether the 'close strings' feature
1123 	 *  is   enabled.
1124 	 * <p>
1125 	 * Value is of type <code>Boolean</code>.
1126 	 * </p>
1127 	 * @since 2.1
1128 	 */
1129 	public final static String EDITOR_CLOSE_STRINGS= "closeStrings"; //$NON-NLS-1$
1130 
1131 	/**
1132 	 * A named preference that controls whether the 'wrap strings' feature is
1133 	 * enabled.
1134 	 * <p>
1135 	 * Value is of type <code>Boolean</code>.
1136 	 * </p>
1137 	 * @since 2.1
1138 	 */
1139 	public final static String EDITOR_WRAP_STRINGS= "wrapStrings"; //$NON-NLS-1$
1140 
1141 	/**
1142 	 * A named preference that controls whether the 'escape strings' feature is
1143 	 * enabled.
1144 	 * <p>
1145 	 * Value is of type <code>Boolean</code>.
1146 	 * </p>
1147 	 * @since 3.0
1148 	 */
1149 	public final static String EDITOR_ESCAPE_STRINGS= "escapeStrings"; //$NON-NLS-1$
1150 
1151 	/**
1152 	 * A named preference that controls whether non-ascii characters are replaced by unicode escape
1153 	 * sequences when the 'escape strings' feature is used.
1154 	 * <p>
1155 	 * Value is of type <code>Boolean</code>.
1156 	 * </p>
1157 	 * @since 3.14
1158 	 */
1159 	public final static String EDITOR_ESCAPE_STRINGS_NON_ASCII= "escapeStringsNonAscii"; //$NON-NLS-1$
1160 
1161 	/**
1162 	 * A named preference that controls whether the 'close brackets' feature is
1163 	 * enabled.
1164 	 * <p>
1165 	 * Value is of type <code>Boolean</code>.
1166 	 * </p>
1167 	 * @since 2.1
1168 	 */
1169 	public final static String EDITOR_CLOSE_BRACKETS= "closeBrackets"; //$NON-NLS-1$
1170 
1171 	/**
1172 	 * A named preference that controls whether the 'close braces' feature is
1173 	 * enabled.
1174 	 * <p>
1175 	 * Value is of type <code>Boolean</code>.
1176 	 * </p>
1177 	 * @since 2.1
1178 	 */
1179 	public final static String EDITOR_CLOSE_BRACES= "closeBraces"; //$NON-NLS-1$
1180 
1181 	/**
1182 	 * A named preference that controls whether the 'close java docs' feature is
1183 	 * enabled.
1184 	 * <p>
1185 	 * Value is of type <code>Boolean</code>.
1186 	 * </p>
1187 	 * @since 2.1
1188 	 */
1189 	public final static String EDITOR_CLOSE_JAVADOCS= "closeJavaDocs"; //$NON-NLS-1$
1190 
1191 	/**
1192 	 * A named preference that controls whether the 'add JavaDoc tags' feature
1193 	 * is enabled.
1194 	 * <p>
1195 	 * Value is of type <code>Boolean</code>.
1196 	 * </p>
1197 	 * @since 2.1
1198 	 */
1199 	public final static String EDITOR_ADD_JAVADOC_TAGS= "addJavaDocTags"; //$NON-NLS-1$
1200 
1201 	/**
1202 	 * A named preference that controls whether the 'format Javadoc tags'
1203 	 * feature is enabled.
1204 	 * <p>
1205 	 * Value is of type <code>Boolean</code>.
1206 	 * </p>
1207 	 * @since 2.1
1208 	 */
1209 	public final static String EDITOR_FORMAT_JAVADOCS= "autoFormatJavaDocs"; //$NON-NLS-1$
1210 
1211 	/**
1212 	 * A named preference that controls whether the 'smart paste' feature is
1213 	 * enabled.
1214 	 * <p>
1215 	 * Value is of type <code>Boolean</code>.
1216 	 * </p>
1217 	 * @since 2.1
1218 	 */
1219 	public final static String EDITOR_SMART_PASTE= "smartPaste"; //$NON-NLS-1$
1220 
1221 	/**
1222 	 * A named preference that controls whether on Enter key the indentation should be smart or the same as previous line.
1223 	 * <p>
1224 	 * Value is of type <code>Boolean</code>.
1225 	 * </p>
1226 	 * @since 3.7
1227 	 */
1228 	public final static String EDITOR_SMART_INDENT_AFTER_NEWLINE= "smartIndentAfterNewline"; //$NON-NLS-1$
1229 
1230 	/**
1231 	 * A named preference that controls whether 'paste' should update the imports.
1232 	 * <p>
1233 	 * Value is of type <code>Boolean</code>.
1234 	 * </p>
1235 	 * @since 3.0
1236 	 */
1237 	public final static String EDITOR_IMPORTS_ON_PASTE= "importsOnPaste"; //$NON-NLS-1$
1238 
1239 	/**
1240 	 * A named preference that controls whether the 'smart home-end' feature is
1241 	 * enabled.
1242 	 * <p>
1243 	 * Value is of type <code>Boolean</code>.
1244 	 * </p>
1245 	 * @since 2.1
1246 	 * @deprecated as of 3.3 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants#EDITOR_SMART_HOME_END}
1247 	 */
1248 	@Deprecated
1249 	public final static String EDITOR_SMART_HOME_END= AbstractTextEditor.PREFERENCE_NAVIGATION_SMART_HOME_END;
1250 
1251 	/**
1252 	 * A named preference that controls whether the 'sub-word navigation' feature is
1253 	 * enabled.
1254 	 * <p>
1255 	 * Value is of type <code>Boolean</code>.
1256 	 * </p>
1257 	 * @since 3.0
1258 	 */
1259 	public final static String EDITOR_SUB_WORD_NAVIGATION= "subWordNavigation"; //$NON-NLS-1$
1260 
1261 	/**
1262 	 * A named preference that controls if temporary problems are evaluated and shown in the UI.
1263 	 * <p>
1264 	 * Value is of type <code>Boolean</code>.
1265 	 * </p>
1266 	 */
1267 	public final static String EDITOR_EVALUTE_TEMPORARY_PROBLEMS= "handleTemporaryProblems"; //$NON-NLS-1$
1268 
1269 	/**
1270 	 * A named preference that controls if the overview ruler is shown in the UI.
1271 	 * <p>
1272 	 * Value is of type <code>Boolean</code>.
1273 	 * </p>
1274 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants}
1275 	 */
1276 	@Deprecated
1277 	public final static String EDITOR_OVERVIEW_RULER= "overviewRuler"; //$NON-NLS-1$
1278 
1279 	/**
1280 	 * A named preference that controls if the line number ruler is shown in the UI.
1281 	 * <p>
1282 	 * Value is of type <code>Boolean</code>.
1283 	 * </p>
1284 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants}
1285 	 */
1286 	@Deprecated
1287 	public final static String EDITOR_LINE_NUMBER_RULER= "lineNumberRuler"; //$NON-NLS-1$
1288 
1289 	/**
1290 	 * A named preference that holds the color used to render line numbers inside the line number ruler.
1291 	 * <p>
1292 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1293 	 * using class <code>PreferenceConverter</code>
1294 	 * </p>
1295 	 *
1296 	 * @see org.eclipse.jface.resource.StringConverter
1297 	 * @see org.eclipse.jface.preference.PreferenceConverter
1298 	 * @see #EDITOR_LINE_NUMBER_RULER
1299 	 * @deprecated as of 3.0 replaced by {@link org.eclipse.ui.texteditor.AbstractDecoratedTextEditorPreferenceConstants}
1300 	 */
1301 	@Deprecated
1302 	public final static String EDITOR_LINE_NUMBER_RULER_COLOR= "lineNumberColor"; //$NON-NLS-1$
1303 
1304 	/**
1305 	 * A named preference that holds the color used to render linked positions inside code templates.
1306 	 * <p>
1307 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1308 	 * using class <code>PreferenceConverter</code>
1309 	 * </p>
1310 	 *
1311 	 * @deprecated not used any longer as the linked positions are displayed as annotations
1312 	 *
1313 	 * @see org.eclipse.jface.resource.StringConverter
1314 	 * @see org.eclipse.jface.preference.PreferenceConverter
1315 	 */
1316 	@Deprecated
1317 	public final static String EDITOR_LINKED_POSITION_COLOR= "linkedPositionColor"; //$NON-NLS-1$
1318 
1319 	/**
1320 	 * A named preference that holds the color used as the text foreground.
1321 	 * This value has no effect if the system default color is used.
1322 	 * <p>
1323 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1324 	 * using class <code>PreferenceConverter</code>
1325 	 * </p>
1326 	 *
1327 	 * @see org.eclipse.jface.resource.StringConverter
1328 	 * @see org.eclipse.jface.preference.PreferenceConverter
1329 	 * @deprecated As of 3.1, replaced by {@link AbstractTextEditor#PREFERENCE_COLOR_FOREGROUND}
1330 	 */
1331 	@Deprecated
1332 	public final static String EDITOR_FOREGROUND_COLOR= AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND;
1333 
1334 	/**
1335 	 * A named preference that describes if the system default foreground color
1336 	 * is used as the text foreground.
1337 	 * <p>
1338 	 * Value is of type <code>Boolean</code>.
1339 	 * </p>
1340 	 * @deprecated As of 3.1, replaced by {@link AbstractTextEditor#PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT}
1341 	 */
1342 	@Deprecated
1343 	public final static String EDITOR_FOREGROUND_DEFAULT_COLOR= AbstractTextEditor.PREFERENCE_COLOR_FOREGROUND_SYSTEM_DEFAULT;
1344 
1345 	/**
1346 	 * A named preference that holds the color used as the text background.
1347 	 * This value has no effect if the system default color is used.
1348 	 * <p>
1349 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1350 	 * using class <code>PreferenceConverter</code>
1351 	 * </p>
1352 	 *
1353 	 * @see org.eclipse.jface.resource.StringConverter
1354 	 * @see org.eclipse.jface.preference.PreferenceConverter
1355 	 * @deprecated As of 3.1, replaced by {@link AbstractTextEditor#PREFERENCE_COLOR_BACKGROUND}
1356 	 */
1357 	@Deprecated
1358 	public final static String EDITOR_BACKGROUND_COLOR= AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND;
1359 
1360 	/**
1361 	 * A named preference that describes if the system default background color
1362 	 * is used as the text background.
1363 	 * <p>
1364 	 * Value is of type <code>Boolean</code>.
1365 	 * </p>
1366 	 * @deprecated As of 3.1, replaced by {@link AbstractTextEditor#PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT}
1367 	 */
1368 	@Deprecated
1369 	public final static String EDITOR_BACKGROUND_DEFAULT_COLOR= AbstractTextEditor.PREFERENCE_COLOR_BACKGROUND_SYSTEM_DEFAULT;
1370 
1371 	/**
1372 	 * Preference key suffix for bold text style preference keys.
1373 	 *
1374 	 * @since 2.1
1375 	 */
1376 	public static final String EDITOR_BOLD_SUFFIX= "_bold"; //$NON-NLS-1$
1377 
1378 	/**
1379 	 * Preference key suffix for italic text style preference keys.
1380 	 *
1381 	 * @since 3.0
1382 	 */
1383 	public static final String EDITOR_ITALIC_SUFFIX= "_italic"; //$NON-NLS-1$
1384 
1385 	/**
1386 	 * Preference key suffix for strikethrough text style preference keys.
1387 	 *
1388 	 * @since 3.1
1389 	 */
1390 	public static final String EDITOR_STRIKETHROUGH_SUFFIX= "_strikethrough"; //$NON-NLS-1$
1391 
1392 	/**
1393 	 * Preference key suffix for underline text style preference keys.
1394 	 *
1395 	 * @since 3.1
1396 	 */
1397 	public static final String EDITOR_UNDERLINE_SUFFIX= "_underline"; //$NON-NLS-1$
1398 
1399 	/**
1400 	 * A named preference that holds the color used to render multi-line comments.
1401 	 * <p>
1402 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1403 	 * using class <code>PreferenceConverter</code>
1404 	 * </p>
1405 	 *
1406 	 * @see org.eclipse.jface.resource.StringConverter
1407 	 * @see org.eclipse.jface.preference.PreferenceConverter
1408 	 */
1409 	public final static String EDITOR_MULTI_LINE_COMMENT_COLOR= IJavaColorConstants.JAVA_MULTI_LINE_COMMENT;
1410 
1411 	/**
1412 	 * The symbolic font name for the Java editor text font
1413 	 * (value <code>"org.eclipse.jdt.ui.editors.textfont"</code>).
1414 	 *
1415 	 * @since 2.1
1416 	 */
1417 	public final static String EDITOR_TEXT_FONT= "org.eclipse.jdt.ui.editors.textfont"; //$NON-NLS-1$
1418 
1419 	/**
1420 	 * A named preference that controls whether multi-line comments are rendered in bold.
1421 	 * <p>
1422 	 * Value is of type <code>Boolean</code>. If <code>true</code> multi-line comments are rendered
1423 	 * in bold. If <code>false</code> the are rendered using no font style attribute.
1424 	 * </p>
1425 	 */
1426 	public final static String EDITOR_MULTI_LINE_COMMENT_BOLD= IJavaColorConstants.JAVA_MULTI_LINE_COMMENT + EDITOR_BOLD_SUFFIX;
1427 
1428 	/**
1429 	 * A named preference that controls whether multi-line comments are rendered in italic.
1430 	 * <p>
1431 	 * Value is of type <code>Boolean</code>. If <code>true</code> multi-line comments are rendered
1432 	 * in italic. If <code>false</code> the are rendered using no italic font style attribute.
1433 	 * </p>
1434 	 *
1435 	 * @since 3.0
1436 	 */
1437 	public final static String EDITOR_MULTI_LINE_COMMENT_ITALIC= IJavaColorConstants.JAVA_MULTI_LINE_COMMENT + EDITOR_ITALIC_SUFFIX;
1438 
1439 	/**
1440 	 * A named preference that controls whether multi-line comments are rendered in strikethrough.
1441 	 * <p>
1442 	 * Value is of type <code>Boolean</code>. If <code>true</code> multi-line comments are rendered
1443 	 * in strikethrough. If <code>false</code> the are rendered using no strikethrough font style attribute.
1444 	 * </p>
1445 	 *
1446 	 * @since 3.1
1447 	 */
1448 	public final static String EDITOR_MULTI_LINE_COMMENT_STRIKETHROUGH= IJavaColorConstants.JAVA_MULTI_LINE_COMMENT + EDITOR_STRIKETHROUGH_SUFFIX;
1449 
1450 	/**
1451 	 * A named preference that controls whether multi-line comments are rendered in underline.
1452 	 * <p>
1453 	 * Value is of type <code>Boolean</code>. If <code>true</code> multi-line comments are rendered
1454 	 * in underline. If <code>false</code> the are rendered using no underline font style attribute.
1455 	 * </p>
1456 	 *
1457 	 * @since 3.1
1458 	 */
1459 	public final static String EDITOR_MULTI_LINE_COMMENT_UNDERLINE= IJavaColorConstants.JAVA_MULTI_LINE_COMMENT + EDITOR_UNDERLINE_SUFFIX;
1460 
1461 	/**
1462 	 * A named preference that holds the color used to render single line comments.
1463 	 * <p>
1464 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1465 	 * using class <code>PreferenceConverter</code>
1466 	 * </p>
1467 	 *
1468 	 * @see org.eclipse.jface.resource.StringConverter
1469 	 * @see org.eclipse.jface.preference.PreferenceConverter
1470 	 */
1471 	public final static String EDITOR_SINGLE_LINE_COMMENT_COLOR= IJavaColorConstants.JAVA_SINGLE_LINE_COMMENT;
1472 
1473 	/**
1474 	 * A named preference that controls whether single line comments are rendered in bold.
1475 	 * <p>
1476 	 * Value is of type <code>Boolean</code>. If <code>true</code> single line comments are rendered
1477 	 * in bold. If <code>false</code> the are rendered using no font style attribute.
1478 	 * </p>
1479 	 */
1480 	public final static String EDITOR_SINGLE_LINE_COMMENT_BOLD= IJavaColorConstants.JAVA_SINGLE_LINE_COMMENT + EDITOR_BOLD_SUFFIX;
1481 
1482 	/**
1483 	 * A named preference that controls whether single line comments are rendered in italic.
1484 	 * <p>
1485 	 * Value is of type <code>Boolean</code>. If <code>true</code> single line comments are rendered
1486 	 * in italic. If <code>false</code> the are rendered using no italic font style attribute.
1487 	 * </p>
1488 	 *
1489 	 * @since 3.0
1490 	 */
1491 	public final static String EDITOR_SINGLE_LINE_COMMENT_ITALIC= IJavaColorConstants.JAVA_SINGLE_LINE_COMMENT + EDITOR_ITALIC_SUFFIX;
1492 
1493 	/**
1494 	 * A named preference that controls whether single line comments are rendered in strikethrough.
1495 	 * <p>
1496 	 * Value is of type <code>Boolean</code>. If <code>true</code> single line comments are rendered
1497 	 * in strikethrough. If <code>false</code> the are rendered using no italic font style attribute.
1498 	 * </p>
1499 	 *
1500 	 * @since 3.1
1501 	 */
1502 	public final static String EDITOR_SINGLE_LINE_COMMENT_STRIKETHROUGH= IJavaColorConstants.JAVA_SINGLE_LINE_COMMENT + EDITOR_STRIKETHROUGH_SUFFIX;
1503 
1504 	/**
1505 	 * A named preference that controls whether single line comments are rendered in underline.
1506 	 * <p>
1507 	 * Value is of type <code>Boolean</code>. If <code>true</code> single line comments are rendered
1508 	 * in underline. If <code>false</code> the are rendered using no italic font style attribute.
1509 	 * </p>
1510 	 *
1511 	 * @since 3.1
1512 	 */
1513 	public final static String EDITOR_SINGLE_LINE_COMMENT_UNDERLINE= IJavaColorConstants.JAVA_SINGLE_LINE_COMMENT + EDITOR_UNDERLINE_SUFFIX;
1514 
1515 	/**
1516 	 * A named preference that holds the color used to render java keywords.
1517 	 * <p>
1518 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1519 	 * using class <code>PreferenceConverter</code>
1520 	 * </p>
1521 	 *
1522 	 * @see org.eclipse.jface.resource.StringConverter
1523 	 * @see org.eclipse.jface.preference.PreferenceConverter
1524 	 */
1525 	public final static String EDITOR_JAVA_KEYWORD_COLOR= IJavaColorConstants.JAVA_KEYWORD;
1526 
1527 	/**
1528 	 * A named preference that controls whether keywords are rendered in bold.
1529 	 * <p>
1530 	 * Value is of type <code>Boolean</code>.
1531 	 * </p>
1532 	 */
1533 	public final static String EDITOR_JAVA_KEYWORD_BOLD= IJavaColorConstants.JAVA_KEYWORD + EDITOR_BOLD_SUFFIX;
1534 
1535 	/**
1536 	 * A named preference that controls whether keywords are rendered in italic.
1537 	 * <p>
1538 	 * Value is of type <code>Boolean</code>.
1539 	 * </p>
1540 	 *
1541 	 * @since 3.0
1542 	 */
1543 	public final static String EDITOR_JAVA_KEYWORD_ITALIC= IJavaColorConstants.JAVA_KEYWORD + EDITOR_ITALIC_SUFFIX;
1544 
1545 	/**
1546 	 * A named preference that controls whether keywords are rendered in strikethrough.
1547 	 * <p>
1548 	 * Value is of type <code>Boolean</code>.
1549 	 * </p>
1550 	 *
1551 	 * @since 3.1
1552 	 */
1553 	public final static String EDITOR_JAVA_KEYWORD_STRIKETHROUGH= IJavaColorConstants.JAVA_KEYWORD + EDITOR_STRIKETHROUGH_SUFFIX;
1554 
1555 	/**
1556 	 * A named preference that controls whether keywords are rendered in underline.
1557 	 * <p>
1558 	 * Value is of type <code>Boolean</code>.
1559 	 * </p>
1560 	 *
1561 	 * @since 3.1
1562 	 */
1563 	public final static String EDITOR_JAVA_KEYWORD_UNDERLINE= IJavaColorConstants.JAVA_KEYWORD + EDITOR_UNDERLINE_SUFFIX;
1564 
1565 	/**
1566 	 * A named preference that holds the color used to render string constants.
1567 	 * <p>
1568 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1569 	 * using class <code>PreferenceConverter</code>
1570 	 * </p>
1571 	 *
1572 	 * @see org.eclipse.jface.resource.StringConverter
1573 	 * @see org.eclipse.jface.preference.PreferenceConverter
1574 	 */
1575 	public final static String EDITOR_STRING_COLOR= IJavaColorConstants.JAVA_STRING;
1576 
1577 	/**
1578 	 * A named preference that controls whether string constants are rendered in bold.
1579 	 * <p>
1580 	 * Value is of type <code>Boolean</code>.
1581 	 * </p>
1582 	 */
1583 	public final static String EDITOR_STRING_BOLD= IJavaColorConstants.JAVA_STRING + EDITOR_BOLD_SUFFIX;
1584 
1585 	/**
1586 	 * A named preference that controls whether string constants are rendered in italic.
1587 	 * <p>
1588 	 * Value is of type <code>Boolean</code>.
1589 	 * </p>
1590 	 *
1591 	 * @since 3.0
1592 	 */
1593 	public final static String EDITOR_STRING_ITALIC= IJavaColorConstants.JAVA_STRING + EDITOR_ITALIC_SUFFIX;
1594 
1595 	/**
1596 	 * A named preference that controls whether string constants are rendered in strikethrough.
1597 	 * <p>
1598 	 * Value is of type <code>Boolean</code>.
1599 	 * </p>
1600 	 *
1601 	 * @since 3.1
1602 	 */
1603 	public final static String EDITOR_STRING_STRIKETHROUGH= IJavaColorConstants.JAVA_STRING + EDITOR_STRIKETHROUGH_SUFFIX;
1604 
1605 	/**
1606 	 * A named preference that controls whether string constants are rendered in underline.
1607 	 * <p>
1608 	 * Value is of type <code>Boolean</code>.
1609 	 * </p>
1610 	 *
1611 	 * @since 3.1
1612 	 */
1613 	public final static String EDITOR_STRING_UNDERLINE= IJavaColorConstants.JAVA_STRING + EDITOR_UNDERLINE_SUFFIX;
1614 
1615 	/**
1616 	 * A named preference that holds the color used to render method names.
1617 	 * <p>
1618 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1619 	 * using class <code>PreferenceConverter</code>
1620 	 * </p>
1621 	 *
1622 	 * @see org.eclipse.jface.resource.StringConverter
1623 	 * @see org.eclipse.jface.preference.PreferenceConverter
1624 	 * @since 3.0
1625 	 * @deprecated the method name highlighting has been replaced by a semantic highlighting, see {@link org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings#METHOD}
1626 	 */
1627 	@Deprecated
1628 	public final static String EDITOR_JAVA_METHOD_NAME_COLOR= IJavaColorConstants.JAVA_METHOD_NAME;
1629 
1630 	/**
1631 	 * A named preference that controls whether method names are rendered in bold.
1632 	 * <p>
1633 	 * Value is of type <code>Boolean</code>.
1634 	 * </p>
1635 	 *
1636 	 * @since 3.0
1637 	 * @deprecated the method name highlighting has been replaced by a semantic highlighting, see {@link org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings#METHOD}
1638 	 */
1639 	@Deprecated
1640 	public final static String EDITOR_JAVA_METHOD_NAME_BOLD= IJavaColorConstants.JAVA_METHOD_NAME + EDITOR_BOLD_SUFFIX;
1641 
1642 	/**
1643 	 * A named preference that controls whether method names are rendered in italic.
1644 	 * <p>
1645 	 * Value is of type <code>Boolean</code>.
1646 	 * </p>
1647 	 *
1648 	 * @since 3.0
1649 	 * @deprecated the method name highlighting has been replaced by a semantic highlighting, see {@link org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings#METHOD}
1650 	 */
1651 	@Deprecated
1652 	public final static String EDITOR_JAVA_METHOD_NAME_ITALIC= IJavaColorConstants.JAVA_METHOD_NAME + EDITOR_ITALIC_SUFFIX;
1653 
1654 	/**
1655 	 * A named preference that holds the color used to render the 'return' keyword.
1656 	 * <p>
1657 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1658 	 * using class <code>PreferenceConverter</code>
1659 	 * </p>
1660 	 *
1661 	 * @see org.eclipse.jface.resource.StringConverter
1662 	 * @see org.eclipse.jface.preference.PreferenceConverter
1663 	 * @since 3.0
1664 	 */
1665 	public final static String EDITOR_JAVA_KEYWORD_RETURN_COLOR= IJavaColorConstants.JAVA_KEYWORD_RETURN;
1666 
1667 	/**
1668 	 * A named preference that controls whether 'return' keyword is rendered in bold.
1669 	 * <p>
1670 	 * Value is of type <code>Boolean</code>.
1671 	 * </p>
1672 	 *
1673 	 * @since 3.0
1674 	 */
1675 	public final static String EDITOR_JAVA_KEYWORD_RETURN_BOLD= IJavaColorConstants.JAVA_KEYWORD_RETURN + EDITOR_BOLD_SUFFIX;
1676 
1677 	/**
1678 	 * A named preference that controls whether 'return' keyword is rendered in italic.
1679 	 * <p>
1680 	 * Value is of type <code>Boolean</code>.
1681 	 * </p>
1682 	 *
1683 	 * @since 3.0
1684 	 */
1685 	public final static String EDITOR_JAVA_KEYWORD_RETURN_ITALIC= IJavaColorConstants.JAVA_KEYWORD_RETURN + EDITOR_ITALIC_SUFFIX;
1686 
1687 	/**
1688 	 * A named preference that controls whether 'return' keyword is rendered in strikethrough.
1689 	 * <p>
1690 	 * Value is of type <code>Boolean</code>.
1691 	 * </p>
1692 	 *
1693 	 * @since 3.1
1694 	 */
1695 	public final static String EDITOR_JAVA_KEYWORD_RETURN_STRIKETHROUGH= IJavaColorConstants.JAVA_KEYWORD_RETURN + EDITOR_STRIKETHROUGH_SUFFIX;
1696 
1697 	/**
1698 	 * A named preference that controls whether 'return' keyword is rendered in italic.
1699 	 * <p>
1700 	 * Value is of type <code>Boolean</code>.
1701 	 * </p>
1702 	 *
1703 	 * @since 3.1
1704 	 */
1705 	public final static String EDITOR_JAVA_KEYWORD_RETURN_UNDERLINE= IJavaColorConstants.JAVA_KEYWORD_RETURN + EDITOR_UNDERLINE_SUFFIX;
1706 
1707 	/**
1708 	 * A named preference that holds the color used to render operators.
1709 	 * <p>
1710 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1711 	 * using class <code>PreferenceConverter</code>
1712 	 * </p>
1713 	 *
1714 	 * @see org.eclipse.jface.resource.StringConverter
1715 	 * @see org.eclipse.jface.preference.PreferenceConverter
1716 	 * @since 3.0
1717 	 */
1718 	public final static String EDITOR_JAVA_OPERATOR_COLOR= IJavaColorConstants.JAVA_OPERATOR;
1719 
1720 	/**
1721 	 * A named preference that controls whether operators are rendered in bold.
1722 	 * <p>
1723 	 * Value is of type <code>Boolean</code>.
1724 	 * </p>
1725 	 *
1726 	 * @since 3.0
1727 	 */
1728 	public final static String EDITOR_JAVA_OPERATOR_BOLD= IJavaColorConstants.JAVA_OPERATOR + EDITOR_BOLD_SUFFIX;
1729 
1730 	/**
1731 	 * A named preference that controls whether operators are rendered in italic.
1732 	 * <p>
1733 	 * Value is of type <code>Boolean</code>.
1734 	 * </p>
1735 	 *
1736 	 * @since 3.0
1737 	 */
1738 	public final static String EDITOR_JAVA_OPERATOR_ITALIC= IJavaColorConstants.JAVA_OPERATOR + EDITOR_ITALIC_SUFFIX;
1739 
1740 	/**
1741 	 * A named preference that controls whether operators are rendered in strikethrough.
1742 	 * <p>
1743 	 * Value is of type <code>Boolean</code>.
1744 	 * </p>
1745 	 *
1746 	 * @since 3.1
1747 	 */
1748 	public final static String EDITOR_JAVA_OPERATOR_STRIKETHROUGH= IJavaColorConstants.JAVA_OPERATOR + EDITOR_STRIKETHROUGH_SUFFIX;
1749 
1750 	/**
1751 	 * A named preference that controls whether operators are rendered in underline.
1752 	 * <p>
1753 	 * Value is of type <code>Boolean</code>.
1754 	 * </p>
1755 	 *
1756 	 * @since 3.1
1757 	 */
1758 	public final static String EDITOR_JAVA_OPERATOR_UNDERLINE= IJavaColorConstants.JAVA_OPERATOR + EDITOR_UNDERLINE_SUFFIX;
1759 
1760 	/**
1761 	 * A named preference that holds the color used to render brackets.
1762 	 * <p>
1763 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1764 	 * using class <code>PreferenceConverter</code>
1765 	 * </p>
1766 	 *
1767 	 * @see org.eclipse.jface.resource.StringConverter
1768 	 * @see org.eclipse.jface.preference.PreferenceConverter
1769 	 * @since 3.3
1770 	 */
1771 	public final static String EDITOR_JAVA_BRACKET_COLOR= IJavaColorConstants.JAVA_BRACKET;
1772 
1773 	/**
1774 	 * A named preference that controls whether brackets are rendered in bold.
1775 	 * <p>
1776 	 * Value is of type <code>Boolean</code>.
1777 	 * </p>
1778 	 *
1779 	 * @since 3.3
1780 	 */
1781 	public final static String EDITOR_JAVA_BRACKET_BOLD= IJavaColorConstants.JAVA_BRACKET + EDITOR_BOLD_SUFFIX;
1782 
1783 	/**
1784 	 * A named preference that controls whether brackets are rendered in italic.
1785 	 * <p>
1786 	 * Value is of type <code>Boolean</code>.
1787 	 * </p>
1788 	 *
1789 	 * @since 3.3
1790 	 */
1791 	public final static String EDITOR_JAVA_BRACKET_ITALIC= IJavaColorConstants.JAVA_BRACKET + EDITOR_ITALIC_SUFFIX;
1792 
1793 	/**
1794 	 * A named preference that controls whether brackets are rendered in strikethrough.
1795 	 * <p>
1796 	 * Value is of type <code>Boolean</code>.
1797 	 * </p>
1798 	 *
1799 	 * @since 3.3
1800 	 */
1801 	public final static String EDITOR_JAVA_BRACKET_STRIKETHROUGH= IJavaColorConstants.JAVA_BRACKET + EDITOR_STRIKETHROUGH_SUFFIX;
1802 
1803 	/**
1804 	 * A named preference that controls whether brackets are rendered in underline.
1805 	 * <p>
1806 	 * Value is of type <code>Boolean</code>.
1807 	 * </p>
1808 	 *
1809 	 * @since 3.3
1810 	 */
1811 	public final static String EDITOR_JAVA_BRACKET_UNDERLINE= IJavaColorConstants.JAVA_BRACKET + EDITOR_UNDERLINE_SUFFIX;
1812 
1813 	/**
1814 	 * A named preference that holds the color used to render annotations.
1815 	 * <p>
1816 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1817 	 * using class <code>PreferenceConverter</code>
1818 	 * </p>
1819 	 *
1820 	 * @see org.eclipse.jface.resource.StringConverter
1821 	 * @see org.eclipse.jface.preference.PreferenceConverter
1822 	 * @since 3.1
1823 	 * @deprecated the annotation highlighting has been replaced by a semantic highlighting, see {@link org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings#ANNOTATION}
1824 	 */
1825 	@Deprecated
1826 	public final static String EDITOR_JAVA_ANNOTATION_COLOR= IJavaColorConstants.JAVA_ANNOTATION;
1827 
1828 	/**
1829 	 * A named preference that controls whether annotations are rendered in bold.
1830 	 * <p>
1831 	 * Value is of type <code>Boolean</code>.
1832 	 * </p>
1833 	 *
1834 	 * @since 3.1
1835 	 * @deprecated the annotation highlighting has been replaced by a semantic highlighting, see {@link org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings#ANNOTATION}
1836 	 */
1837 	@Deprecated
1838 	public final static String EDITOR_JAVA_ANNOTATION_BOLD= IJavaColorConstants.JAVA_ANNOTATION + EDITOR_BOLD_SUFFIX;
1839 
1840 	/**
1841 	 * A named preference that controls whether annotations are rendered in italic.
1842 	 * <p>
1843 	 * Value is of type <code>Boolean</code>.
1844 	 * </p>
1845 	 *
1846 	 * @since 3.1
1847 	 * @deprecated the annotation highlighting has been replaced by a semantic highlighting, see {@link org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings#ANNOTATION}
1848 	 */
1849 	@Deprecated
1850 	public final static String EDITOR_JAVA_ANNOTATION_ITALIC= IJavaColorConstants.JAVA_ANNOTATION + EDITOR_ITALIC_SUFFIX;
1851 
1852 	/**
1853 	 * A named preference that controls whether annotations are rendered in strikethrough.
1854 	 * <p>
1855 	 * Value is of type <code>Boolean</code>.
1856 	 * </p>
1857 	 *
1858 	 * @since 3.1
1859 	 * @deprecated the annotation highlighting has been replaced by a semantic highlighting, see {@link org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings#ANNOTATION}
1860 	 */
1861 	@Deprecated
1862 	public final static String EDITOR_JAVA_ANNOTATION_STRIKETHROUGH= IJavaColorConstants.JAVA_ANNOTATION + EDITOR_STRIKETHROUGH_SUFFIX;
1863 
1864 	/**
1865 	 * A named preference that controls whether annotations are rendered in underline.
1866 	 * <p>
1867 	 * Value is of type <code>Boolean</code>.
1868 	 * </p>
1869 	 *
1870 	 * @since 3.1
1871 	 * @deprecated the annotation highlighting has been replaced by a semantic highlighting, see {@link org.eclipse.jdt.internal.ui.javaeditor.SemanticHighlightings#ANNOTATION}
1872 	 */
1873 	@Deprecated
1874 	public final static String EDITOR_JAVA_ANNOTATION_UNDERLINE= IJavaColorConstants.JAVA_ANNOTATION + EDITOR_UNDERLINE_SUFFIX;
1875 
1876 	/**
1877 	 * A named preference that holds the color used to render java default text.
1878 	 * <p>
1879 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1880 	 * using class <code>PreferenceConverter</code>
1881 	 * </p>
1882 	 *
1883 	 * @see org.eclipse.jface.resource.StringConverter
1884 	 * @see org.eclipse.jface.preference.PreferenceConverter
1885 	 */
1886 	public final static String EDITOR_JAVA_DEFAULT_COLOR= IJavaColorConstants.JAVA_DEFAULT;
1887 
1888 	/**
1889 	 * A named preference that controls whether Java default text is rendered in bold.
1890 	 * <p>
1891 	 * Value is of type <code>Boolean</code>.
1892 	 * </p>
1893 	 */
1894 	public final static String EDITOR_JAVA_DEFAULT_BOLD= IJavaColorConstants.JAVA_DEFAULT + EDITOR_BOLD_SUFFIX;
1895 
1896 	/**
1897 	 * A named preference that controls whether Java default text is rendered in italic.
1898 	 * <p>
1899 	 * Value is of type <code>Boolean</code>.
1900 	 * </p>
1901 	 *
1902 	 * @since 3.0
1903 	 */
1904 	public final static String EDITOR_JAVA_DEFAULT_ITALIC= IJavaColorConstants.JAVA_DEFAULT + EDITOR_ITALIC_SUFFIX;
1905 	/**
1906 	 * A named preference that controls whether Java default text is rendered in strikethrough.
1907 	 * <p>
1908 	 * Value is of type <code>Boolean</code>.
1909 	 * </p>
1910 	 *
1911 	 * @since 3.1
1912 	 */
1913 	public final static String EDITOR_JAVA_DEFAULT_STRIKETHROUGH= IJavaColorConstants.JAVA_DEFAULT + EDITOR_STRIKETHROUGH_SUFFIX;
1914 
1915 	/**
1916 	 * A named preference that controls whether Java default text is rendered in underline.
1917 	 * <p>
1918 	 * Value is of type <code>Boolean</code>.
1919 	 * </p>
1920 	 *
1921 	 * @since 3.1
1922 	 */
1923 	public final static String EDITOR_JAVA_DEFAULT_UNDERLINE= IJavaColorConstants.JAVA_DEFAULT + EDITOR_UNDERLINE_SUFFIX;
1924 
1925 	/**
1926 	 * A named preference that holds the color used to render task tags.
1927 	 * <p>
1928 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1929 	 * using class <code>PreferenceConverter</code>
1930 	 * </p>
1931 	 *
1932 	 * @see org.eclipse.jface.resource.StringConverter
1933 	 * @see org.eclipse.jface.preference.PreferenceConverter
1934 	 * @since 2.1
1935 	 */
1936 	public final static String EDITOR_TASK_TAG_COLOR= IJavaColorConstants.TASK_TAG;
1937 
1938 	/**
1939 	 * A named preference that controls whether task tags are rendered in bold.
1940 	 * <p>
1941 	 * Value is of type <code>Boolean</code>.
1942 	 * </p>
1943 	 * @since 2.1
1944 	 */
1945 	public final static String EDITOR_TASK_TAG_BOLD= IJavaColorConstants.TASK_TAG + EDITOR_BOLD_SUFFIX;
1946 
1947 	/**
1948 	 * A named preference that controls whether task tags are rendered in italic.
1949 	 * <p>
1950 	 * Value is of type <code>Boolean</code>.
1951 	 * </p>
1952 	 *
1953 	 * @since 3.0
1954 	 */
1955 	public final static String EDITOR_TASK_TAG_ITALIC= IJavaColorConstants.TASK_TAG + EDITOR_ITALIC_SUFFIX;
1956 	/**
1957 	 * A named preference that controls whether task tags are rendered in strikethrough.
1958 	 * <p>
1959 	 * Value is of type <code>Boolean</code>.
1960 	 * </p>
1961 	 *
1962 	 * @since 3.1
1963 	 */
1964 	public final static String EDITOR_TASK_TAG_STRIKETHROUGH= IJavaColorConstants.TASK_TAG + EDITOR_STRIKETHROUGH_SUFFIX;
1965 
1966 	/**
1967 	 * A named preference that controls whether task tags are rendered in underline.
1968 	 * <p>
1969 	 * Value is of type <code>Boolean</code>.
1970 	 * </p>
1971 	 *
1972 	 * @since 3.1
1973 	 */
1974 	public final static String EDITOR_TASK_TAG_UNDERLINE= IJavaColorConstants.TASK_TAG + EDITOR_UNDERLINE_SUFFIX;
1975 
1976 	/**
1977 	 * A named preference that holds the color used to render javadoc keywords.
1978 	 * <p>
1979 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
1980 	 * using class <code>PreferenceConverter</code>
1981 	 * </p>
1982 	 *
1983 	 * @see org.eclipse.jface.resource.StringConverter
1984 	 * @see org.eclipse.jface.preference.PreferenceConverter
1985 	 */
1986 	public final static String EDITOR_JAVADOC_KEYWORD_COLOR= IJavaColorConstants.JAVADOC_KEYWORD;
1987 
1988 	/**
1989 	 * A named preference that controls whether javadoc keywords are rendered in bold.
1990 	 * <p>
1991 	 * Value is of type <code>Boolean</code>.
1992 	 * </p>
1993 	 */
1994 	public final static String EDITOR_JAVADOC_KEYWORD_BOLD= IJavaColorConstants.JAVADOC_KEYWORD + EDITOR_BOLD_SUFFIX;
1995 
1996 	/**
1997 	 * A named preference that controls whether javadoc keywords are rendered in italic.
1998 	 * <p>
1999 	 * Value is of type <code>Boolean</code>.
2000 	 * </p>
2001 	 *
2002 	 * @since 3.0
2003 	 */
2004 	public final static String EDITOR_JAVADOC_KEYWORD_ITALIC= IJavaColorConstants.JAVADOC_KEYWORD + EDITOR_ITALIC_SUFFIX;
2005 
2006 	/**
2007 	 * A named preference that controls whether javadoc keywords are rendered in strikethrough.
2008 	 * <p>
2009 	 * Value is of type <code>Boolean</code>.
2010 	 * </p>
2011 	 *
2012 	 * @since 3.1
2013 	 *
2014 	 */
2015 	public final static String EDITOR_JAVADOC_KEYWORD_STRIKETHROUGH= IJavaColorConstants.JAVADOC_KEYWORD + EDITOR_STRIKETHROUGH_SUFFIX;
2016 
2017 	/**
2018 	 * A named preference that controls whether javadoc keywords are rendered in underline.
2019 	 * <p>
2020 	 * Value is of type <code>Boolean</code>.
2021 	 * </p>
2022 	 *
2023 	 * @since 3.1
2024 	 */
2025 	public final static String EDITOR_JAVADOC_KEYWORD_UNDERLINE= IJavaColorConstants.JAVADOC_KEYWORD + EDITOR_UNDERLINE_SUFFIX;
2026 
2027 	/**
2028 	 * A named preference that holds the color used to render javadoc tags.
2029 	 * <p>
2030 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
2031 	 * using class <code>PreferenceConverter</code>
2032 	 * </p>
2033 	 *
2034 	 * @see org.eclipse.jface.resource.StringConverter
2035 	 * @see org.eclipse.jface.preference.PreferenceConverter
2036 	 */
2037 	public final static String EDITOR_JAVADOC_TAG_COLOR= IJavaColorConstants.JAVADOC_TAG;
2038 
2039 	/**
2040 	 * A named preference that controls whether javadoc tags are rendered in bold.
2041 	 * <p>
2042 	 * Value is of type <code>Boolean</code>.
2043 	 * </p>
2044 	 */
2045 	public final static String EDITOR_JAVADOC_TAG_BOLD= IJavaColorConstants.JAVADOC_TAG + EDITOR_BOLD_SUFFIX;
2046 
2047 	/**
2048 	 * A named preference that controls whether javadoc tags are rendered in italic.
2049 	 * <p>
2050 	 * Value is of type <code>Boolean</code>.
2051 	 * </p>
2052 	 *
2053 	 * @since 3.0
2054 	 */
2055 	public final static String EDITOR_JAVADOC_TAG_ITALIC= IJavaColorConstants.JAVADOC_TAG + EDITOR_ITALIC_SUFFIX;
2056 
2057 	/**
2058 	 * A named preference that controls whether javadoc tags are rendered in strikethrough.
2059 	 * <p>
2060 	 * Value is of type <code>Boolean</code>.
2061 	 * </p>
2062 	 *
2063 	 * @since 3.1
2064 	 */
2065 	public final static String EDITOR_JAVADOC_TAG_STRIKETHROUGH= IJavaColorConstants.JAVADOC_TAG + EDITOR_STRIKETHROUGH_SUFFIX;
2066 
2067 	/**
2068 	 * A named preference that controls whether javadoc tags are rendered in underline.
2069 	 * <p>
2070 	 * Value is of type <code>Boolean</code>.
2071 	 * </p>
2072 	 *
2073 	 * @since 3.1
2074 	 */
2075 	public final static String EDITOR_JAVADOC_TAG_UNDERLINE= IJavaColorConstants.JAVADOC_TAG + EDITOR_UNDERLINE_SUFFIX;
2076 
2077 	/**
2078 	 * A named preference that holds the color used to render javadoc links.
2079 	 * <p>
2080 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
2081 	 * using class <code>PreferenceConverter</code>
2082 	 * </p>
2083 	 *
2084 	 * @see org.eclipse.jface.resource.StringConverter
2085 	 * @see org.eclipse.jface.preference.PreferenceConverter
2086 	 */
2087 	public final static String EDITOR_JAVADOC_LINKS_COLOR= IJavaColorConstants.JAVADOC_LINK;
2088 
2089 	/**
2090 	 * A named preference that controls whether javadoc links are rendered in bold.
2091 	 * <p>
2092 	 * Value is of type <code>Boolean</code>.
2093 	 * </p>
2094 	 */
2095 	public final static String EDITOR_JAVADOC_LINKS_BOLD= IJavaColorConstants.JAVADOC_LINK + EDITOR_BOLD_SUFFIX;
2096 
2097 	/**
2098 	 * A named preference that controls whether javadoc links are rendered in italic.
2099 	 * <p>
2100 	 * Value is of type <code>Boolean</code>.
2101 	 * </p>
2102 	 *
2103 	 * @since 3.0
2104 	 */
2105 	public final static String EDITOR_JAVADOC_LINKS_ITALIC= IJavaColorConstants.JAVADOC_LINK + EDITOR_ITALIC_SUFFIX;
2106 
2107 	/**
2108 	 * A named preference that controls whether javadoc links are rendered in strikethrough.
2109 	 * <p>
2110 	 * Value is of type <code>Boolean</code>.
2111 	 * </p>
2112 	 *
2113 	 * @since 3.1
2114 	 */
2115 	public final static String EDITOR_JAVADOC_LINKS_STRIKETHROUGH= IJavaColorConstants.JAVADOC_LINK + EDITOR_STRIKETHROUGH_SUFFIX;
2116 
2117 	/**
2118 	 * A named preference that controls whether javadoc links are rendered in underline.
2119 	 * <p>
2120 	 * Value is of type <code>Boolean</code>.
2121 	 * </p>
2122 	 *
2123 	 * @since 3.1
2124 	 */
2125 	public final static String EDITOR_JAVADOC_LINKS_UNDERLINE= IJavaColorConstants.JAVADOC_LINK + EDITOR_UNDERLINE_SUFFIX;
2126 
2127 	/**
2128 	 * A named preference that holds the color used to render javadoc default text.
2129 	 * <p>
2130 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
2131 	 * using class <code>PreferenceConverter</code>
2132 	 * </p>
2133 	 *
2134 	 * @see org.eclipse.jface.resource.StringConverter
2135 	 * @see org.eclipse.jface.preference.PreferenceConverter
2136 	 */
2137 	public final static String EDITOR_JAVADOC_DEFAULT_COLOR= IJavaColorConstants.JAVADOC_DEFAULT;
2138 
2139 	/**
2140 	 * A named preference that controls whether javadoc default text is rendered in bold.
2141 	 * <p>
2142 	 * Value is of type <code>Boolean</code>.
2143 	 * </p>
2144 	 */
2145 	public final static String EDITOR_JAVADOC_DEFAULT_BOLD= IJavaColorConstants.JAVADOC_DEFAULT + EDITOR_BOLD_SUFFIX;
2146 
2147 	/**
2148 	 * A named preference that controls whether javadoc default text is rendered in italic.
2149 	 * <p>
2150 	 * Value is of type <code>Boolean</code>.
2151 	 * </p>
2152 	 *
2153 	 * @since 3.0
2154 	 */
2155 	public final static String EDITOR_JAVADOC_DEFAULT_ITALIC= IJavaColorConstants.JAVADOC_DEFAULT + EDITOR_ITALIC_SUFFIX;
2156 	/**
2157 	 * A named preference that controls whether javadoc default text is rendered in strikethrough.
2158 	 * <p>
2159 	 * Value is of type <code>Boolean</code>.
2160 	 * </p>
2161 	 *
2162 	 * @since 3.1
2163 	 */
2164 	public final static String EDITOR_JAVADOC_DEFAULT_STRIKETHROUGH= IJavaColorConstants.JAVADOC_DEFAULT + EDITOR_STRIKETHROUGH_SUFFIX;
2165 
2166 	/**
2167 	 * A named preference that controls whether javadoc default text is rendered in underline.
2168 	 * <p>
2169 	 * Value is of type <code>Boolean</code>.
2170 	 * </p>
2171 	 *
2172 	 * @since 3.1
2173 	 */
2174 	public final static String EDITOR_JAVADOC_DEFAULT_UNDERLINE= IJavaColorConstants.JAVADOC_DEFAULT + EDITOR_UNDERLINE_SUFFIX;
2175 
2176 	/**
2177 	 * A named preference that holds the color used for 'linked-mode' underline.
2178 	 * <p>
2179 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
2180 	 * using class <code>PreferenceConverter</code>
2181 	 * </p>
2182 	 *
2183 	 * @see org.eclipse.jface.resource.StringConverter
2184 	 * @see org.eclipse.jface.preference.PreferenceConverter
2185 	 * @since 2.1
2186 	 * @deprecated As of 3.1, replaced by {@link AbstractDecoratedTextEditorPreferenceConstants#EDITOR_HYPERLINK_COLOR}
2187 	 */
2188 	@Deprecated
2189 	public final static String EDITOR_LINK_COLOR= "linkColor"; //$NON-NLS-1$
2190 
2191 	/**
2192 	 * A named preference that controls whether hover tool tips in the editor are turned on or off.
2193 	 * <p>
2194 	 * Value is of type <code>Boolean</code>.
2195 	 * </p>
2196 	 */
2197 	public static final String EDITOR_SHOW_HOVER= "org.eclipse.jdt.ui.editor.showHover"; //$NON-NLS-1$
2198 
2199 
2200 	/**
2201 	 * A named preference that defines the hover shown when no control key is
2202 	 * pressed.
2203 	 * <p>Value is of type <code>String</code>: possible values are <code>
2204 	 * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
2205 	 * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a hover
2206 	 * contributed as <code>javaEditorTextHovers</code>.
2207 	 * </p>
2208 	 * @see #EDITOR_NO_HOVER_CONFIGURED_ID
2209 	 * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
2210 	 * @see JavaUI
2211 	 * @since 2.1
2212 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2213 	 */
2214 	@Deprecated
2215 	public static final String EDITOR_NONE_HOVER= "noneHover"; //$NON-NLS-1$
2216 
2217 	/**
2218 	 * A named preference that defines the hover shown when the
2219 	 * <code>CTRL</code> modifier key is pressed.
2220 	 * <p>Value is of type <code>String</code>: possible values are <code>
2221 	 * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
2222 	 * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
2223 	 * hover contributed as <code>javaEditorTextHovers</code>.
2224 	 * </p>
2225 	 * @see #EDITOR_NO_HOVER_CONFIGURED_ID
2226 	 * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
2227 	 * @see JavaUI
2228 	 * @since 2.1
2229 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2230 	 */
2231 	@Deprecated
2232 	public static final String EDITOR_CTRL_HOVER= "ctrlHover"; //$NON-NLS-1$
2233 
2234 	/**
2235 	 * A named preference that defines the hover shown when the
2236 	 * <code>SHIFT</code> modifier key is pressed.
2237 	 * <p>Value is of type <code>String</code>: possible values are <code>
2238 	 * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
2239 	 * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
2240 	 * hover contributed as <code>javaEditorTextHovers</code>.
2241 	 * </p>
2242 	 * @see #EDITOR_NO_HOVER_CONFIGURED_ID
2243 	 * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
2244 	 * @see JavaUI ID_*_HOVER
2245 	 * @since 2.1
2246 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2247 	 */
2248 	@Deprecated
2249 	public static final String EDITOR_SHIFT_HOVER= "shiftHover"; //$NON-NLS-1$
2250 
2251 	/**
2252 	 * A named preference that defines the hover shown when the
2253 	 * <code>CTRL + ALT</code> modifier keys is pressed.
2254 	 * <p>Value is of type <code>String</code>: possible values are <code>
2255 	 * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
2256 	 * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
2257 	 * hover contributed as <code>javaEditorTextHovers</code>.
2258 	 * </p>
2259 	 * @see #EDITOR_NO_HOVER_CONFIGURED_ID
2260 	 * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
2261 	 * @see JavaUI ID_*_HOVER
2262 	 * @since 2.1
2263 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2264 	 */
2265 	@Deprecated
2266 	public static final String EDITOR_CTRL_ALT_HOVER= "ctrlAltHover"; //$NON-NLS-1$
2267 
2268 	/**
2269 	 * A named preference that defines the hover shown when the
2270 	 * <code>CTRL + ALT + SHIFT</code> modifier keys is pressed.
2271 	 * <p>Value is of type <code>String</code>: possible values are <code>
2272 	 * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
2273 	 * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
2274 	 * hover contributed as <code>javaEditorTextHovers</code>.
2275 	 * </p>
2276 	 * @see #EDITOR_NO_HOVER_CONFIGURED_ID
2277 	 * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
2278 	 * @see JavaUI ID_*_HOVER
2279 	 * @since 2.1
2280 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2281 	 */
2282 	@Deprecated
2283 	public static final String EDITOR_CTRL_ALT_SHIFT_HOVER= "ctrlAltShiftHover"; //$NON-NLS-1$
2284 
2285 	/**
2286 	 * A named preference that defines the hover shown when the
2287 	 * <code>CTRL + SHIFT</code> modifier keys is pressed.
2288 	 * <p>Value is of type <code>String</code>: possible values are <code>
2289 	 * EDITOR_NO_HOVER_CONFIGURED_ID</code> or
2290 	 * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code> or the hover id of a
2291 	 * hover contributed as <code>javaEditorTextHovers</code>.
2292 	 * </p>
2293 	 * @see #EDITOR_NO_HOVER_CONFIGURED_ID
2294 	 * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
2295 	 * @see JavaUI ID_*_HOVER
2296 	 * @since 2.1
2297 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2298 	 */
2299 	@Deprecated
2300 	public static final String EDITOR_CTRL_SHIFT_HOVER= "ctrlShiftHover"; //$NON-NLS-1$
2301 
2302 	/**
2303 	 * A named preference that defines the hover shown when the
2304 	 * <code>ALT</code> modifier key is pressed.
2305 	 * <p>Value is of type <code>String</code>: possible values are <code>
2306 	 * EDITOR_NO_HOVER_CONFIGURED_ID</code>,
2307 	 * <code>EDITOR_DEFAULT_HOVER_CONFIGURED_ID</code>  or the hover id of a
2308 	 * hover contributed as <code>javaEditorTextHovers</code>.
2309 	 * </p>
2310 	 * @see #EDITOR_NO_HOVER_CONFIGURED_ID
2311 	 * @see #EDITOR_DEFAULT_HOVER_CONFIGURED_ID
2312 	 * @see JavaUI ID_*_HOVER
2313 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2314 	 * @since 2.1
2315 	 */
2316 	@Deprecated
2317 	public static final String EDITOR_ALT_SHIFT_HOVER= "altShiftHover"; //$NON-NLS-1$
2318 
2319 	/**
2320 	 * A string value used by the named preferences for hover configuration to
2321 	 * describe that no hover should be shown for the given key modifiers.
2322 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2323 	 * @since 2.1
2324 	 */
2325 	@Deprecated
2326 	public static final String EDITOR_NO_HOVER_CONFIGURED_ID= "noHoverConfiguredId"; //$NON-NLS-1$
2327 
2328 	/**
2329 	 * A string value used by the named preferences for hover configuration to
2330 	 * describe that the default hover should be shown for the given key
2331 	 * modifiers. The default hover is described by the
2332 	 * <code>EDITOR_DEFAULT_HOVER</code> property.
2333 	 * @since 2.1
2334 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2335 	 */
2336 	@Deprecated
2337 	public static final String EDITOR_DEFAULT_HOVER_CONFIGURED_ID= "defaultHoverConfiguredId"; //$NON-NLS-1$
2338 
2339 	/**
2340 	 * A named preference that defines the hover named the 'default hover'.
2341 	 * Value is of type <code>String</code>: possible values are <code>
2342 	 * EDITOR_NO_HOVER_CONFIGURED_ID</code> or the hover id of a hover
2343 	 * contributed as <code>javaEditorTextHovers</code>.
2344 	 * @since 2.1
2345 	 * @deprecated As of 3.0, replaced by {@link #EDITOR_TEXT_HOVER_MODIFIERS}
2346 	 */
2347 	@Deprecated
2348 	public static final String EDITOR_DEFAULT_HOVER= "defaultHover"; //$NON-NLS-1$
2349 
2350 	/**
2351 	 * A named preference that controls if segmented view (show selected element only) is turned on or off.
2352 	 * <p>
2353 	 * Value is of type <code>Boolean</code>.
2354 	 * </p>
2355 	 */
2356 	public static final String EDITOR_SHOW_SEGMENTS= "org.eclipse.jdt.ui.editor.showSegments"; //$NON-NLS-1$
2357 
2358 	/**
2359 	 * A named preference that controls if browser like links are turned on or off.
2360 	 * <p>
2361 	 * Value is of type <code>Boolean</code>.
2362 	 * </p>
2363 	 *
2364 	 * @since 2.1
2365 	 * @deprecated As of 3.1, replaced by {@link AbstractDecoratedTextEditorPreferenceConstants#EDITOR_HYPERLINKS_ENABLED}
2366 	 */
2367 	@Deprecated
2368 	public static final String EDITOR_BROWSER_LIKE_LINKS= "browserLikeLinks"; //$NON-NLS-1$
2369 
2370 	/**
2371 	 * A named preference that controls the key modifier for browser like links.
2372 	 * <p>
2373 	 * Value is of type <code>String</code>.
2374 	 * </p>
2375 	 *
2376 	 * @since 2.1
2377 	 * @deprecated As of 3.1, replaced by {@link AbstractDecoratedTextEditorPreferenceConstants#EDITOR_HYPERLINK_KEY_MODIFIER}
2378 	 */
2379 	@Deprecated
2380 	public static final String EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER= "browserLikeLinksKeyModifier"; //$NON-NLS-1$
2381 
2382 	/**
2383 	 * A named preference that controls the key modifier mask for browser like links.
2384 	 * The value is only used if the value of <code>EDITOR_BROWSER_LIKE_LINKS</code>
2385 	 * cannot be resolved to valid SWT modifier bits.
2386 	 * <p>
2387 	 * Value is of type <code>String</code>.
2388 	 * </p>
2389 	 *
2390 	 * @see #EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER
2391 	 * @since 2.1.1
2392 	 * @deprecated As of 3.1, replaced by {@link AbstractDecoratedTextEditorPreferenceConstants#EDITOR_HYPERLINK_KEY_MODIFIER_MASK}
2393 	 */
2394 	@Deprecated
2395 	public static final String EDITOR_BROWSER_LIKE_LINKS_KEY_MODIFIER_MASK= "browserLikeLinksKeyModifierMask"; //$NON-NLS-1$
2396 
2397 	/**
2398 	 * A named preference that controls whether occurrences are marked in the editor.
2399 	 * <p>
2400 	 * Value is of type <code>Boolean</code>.
2401 	 * </p>
2402 	 *
2403 	 * @since 3.0
2404 	 */
2405 	public static final String EDITOR_MARK_OCCURRENCES= "markOccurrences"; //$NON-NLS-1$
2406 
2407 	/**
2408 	 * A named preference that controls whether occurrences are sticky in the editor.
2409 	 * <p>
2410 	 * Value is of type <code>Boolean</code>.
2411 	 * </p>
2412 	 *
2413 	 * @since 3.0
2414 	 */
2415 	public static final String EDITOR_STICKY_OCCURRENCES= "stickyOccurrences"; //$NON-NLS-1$
2416 
2417 	/**
2418 	 * A named preference that controls whether type occurrences are marked.
2419 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2420 	 * <p>
2421 	 * Value is of type <code>Boolean</code>.
2422 	 * </p>
2423 	 *
2424 	 * @since 3.0
2425 	 */
2426 	public static final String EDITOR_MARK_TYPE_OCCURRENCES= "markTypeOccurrences"; //$NON-NLS-1$
2427 
2428 	/**
2429 	 * A named preference that controls whether method occurrences are marked.
2430 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2431 	 * <p>
2432 	 * Value is of type <code>Boolean</code>.
2433 	 * </p>
2434 	 *
2435 	 * @since 3.0
2436 	 */
2437 	public static final String EDITOR_MARK_METHOD_OCCURRENCES= "markMethodOccurrences"; //$NON-NLS-1$
2438 	/**
2439 	 * A named preference that controls whether non-constant field occurrences are marked.
2440 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2441 	 * <p>
2442 	 * Value is of type <code>Boolean</code>.
2443 	 * </p>
2444 	 *
2445 	 * @since 3.0
2446 	 */
2447 	public static final String EDITOR_MARK_FIELD_OCCURRENCES= "markFieldOccurrences"; //$NON-NLS-1$
2448 	/**
2449 	 * A named preference that controls whether constant (static final) occurrences are marked.
2450 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2451 	 * <p>
2452 	 * Value is of type <code>Boolean</code>.
2453 	 * </p>
2454 	 *
2455 	 * @since 3.0
2456 	 */
2457 	public static final String EDITOR_MARK_CONSTANT_OCCURRENCES= "markConstantOccurrences"; //$NON-NLS-1$
2458 
2459 	/**
2460 	 * A named preference that controls whether local variable occurrences are marked.
2461 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2462 	 * <p>
2463 	 * Value is of type <code>Boolean</code>.
2464 	 * </p>
2465 	 *
2466 	 * @since 3.0
2467 	 */
2468 	public static final String EDITOR_MARK_LOCAL_VARIABLE_OCCURRENCES= "markLocalVariableOccurrences"; //$NON-NLS-1$
2469 
2470 	/**
2471 	 * A named preference that controls whether exception occurrences are marked.
2472 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2473 	 * <p>
2474 	 * Value is of type <code>Boolean</code>.
2475 	 * </p>
2476 	 *
2477 	 * @since 3.0
2478 	 */
2479 	public static final String EDITOR_MARK_EXCEPTION_OCCURRENCES= "markExceptionOccurrences"; //$NON-NLS-1$
2480 
2481 	/**
2482 	 * A named preference that controls whether method exit points are marked.
2483 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2484 	 * <p>
2485 	 * Value is of type <code>Boolean</code>.
2486 	 * </p>
2487 	 *
2488 	 * @since 3.0
2489 	 */
2490 	public static final String EDITOR_MARK_METHOD_EXIT_POINTS= "markMethodExitPoints"; //$NON-NLS-1$
2491 
2492 	/**
2493 	 * A named preference that controls whether targets for of <code>break</code> and <code>continue</code> statements are marked.
2494 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2495 	 * <p>
2496 	 * Value is of type <code>Boolean</code>.
2497 	 * </p>
2498 	 *
2499 	 * @since 3.2
2500 	 */
2501 	public static final String EDITOR_MARK_BREAK_CONTINUE_TARGETS= "markBreakContinueTargets"; //$NON-NLS-1$
2502 
2503 	/**
2504 	 * A named preference that controls whether method exit points are marked.
2505 	 * Only valid if {@link #EDITOR_MARK_OCCURRENCES} is <code>true</code>.
2506 	 * <p>
2507 	 * Value is of type <code>Boolean</code>.
2508 	 * </p>
2509 	 *
2510 	 * @since 3.1
2511 	 */
2512 	public static final String EDITOR_MARK_IMPLEMENTORS= "markImplementors"; //$NON-NLS-1$
2513 
2514 	/**
2515 	 * A named preference prefix for semantic highlighting preferences.
2516 	 *
2517 	 * @since 3.0
2518 	 */
2519 	public static final String EDITOR_SEMANTIC_HIGHLIGHTING_PREFIX="semanticHighlighting."; //$NON-NLS-1$
2520 
2521 	/**
2522 	 * A named preference prefix for Java code mining preferences.
2523 	 *
2524 	 * @since 3.14
2525 	 */
2526 	public static final String EDITOR_JAVA_CODEMINING_PREFIX="java.codemining."; //$NON-NLS-1$
2527 
2528 	/**
2529 	 * A named preference that controls if semantic highlighting is enabled.
2530 	 * <p>
2531 	 * Value is of type <code>Boolean</code>:<code>true</code> if enabled.
2532 	 * </p>
2533 	 *
2534 	 * @since 3.0
2535 	 * @deprecated As of 3.1, this preference is not used or set any longer; see
2536 	 *             {@link SemanticHighlightings#affectsEnablement(IPreferenceStore, org.eclipse.jface.util.PropertyChangeEvent)}
2537 	 */
2538 	@Deprecated
2539 	public static final String EDITOR_SEMANTIC_HIGHLIGHTING_ENABLED=EDITOR_SEMANTIC_HIGHLIGHTING_PREFIX + "enabled"; //$NON-NLS-1$
2540 
2541 	/**
2542 	 * A named preference suffix that controls a semantic highlighting's color.
2543 	 * <p>
2544 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
2545 	 * using class <code>PreferenceConverter</code>
2546 	 * </p>
2547 	 *
2548 	 * @see org.eclipse.jface.resource.StringConverter
2549 	 * @see org.eclipse.jface.preference.PreferenceConverter
2550 	 * @since 3.0
2551 	 */
2552 	public static final String EDITOR_SEMANTIC_HIGHLIGHTING_COLOR_SUFFIX=".color"; //$NON-NLS-1$
2553 
2554 	/**
2555 	 * A named preference suffix that controls if semantic highlighting has the text attribute bold.
2556 	 * <p>
2557 	 * Value is of type <code>Boolean</code>: <code>true</code> if bold.
2558 	 * </p>
2559 	 *
2560 	 * @since 3.0
2561 	 */
2562 	public static final String EDITOR_SEMANTIC_HIGHLIGHTING_BOLD_SUFFIX=".bold"; //$NON-NLS-1$
2563 
2564 	/**
2565 	 * A named preference suffix that controls if semantic highlighting has the text attribute italic.
2566 	 * <p>
2567 	 * Value is of type <code>Boolean</code>: <code>true</code> if italic.
2568 	 * </p>
2569 	 *
2570 	 * @since 3.0
2571 	 */
2572 	public static final String EDITOR_SEMANTIC_HIGHLIGHTING_ITALIC_SUFFIX=".italic"; //$NON-NLS-1$
2573 
2574 	/**
2575 	 * A named preference suffix that controls if semantic highlighting has the text attribute strikethrough.
2576 	 * <p>
2577 	 * Value is of type <code>Boolean</code>: <code>true</code> if strikethrough.
2578 	 * </p>
2579 	 *
2580 	 * @since 3.1
2581 	 */
2582 	public static final String EDITOR_SEMANTIC_HIGHLIGHTING_STRIKETHROUGH_SUFFIX=".strikethrough"; //$NON-NLS-1$
2583 
2584 	/**
2585 	 * A named preference suffix that controls if semantic highlighting has the text attribute underline.
2586 	 * <p>
2587 	 * Value is of type <code>Boolean</code>: <code>true</code> if underline.
2588 	 * </p>
2589 	 *
2590 	 * @since 3.1
2591 	 */
2592 	public static final String EDITOR_SEMANTIC_HIGHLIGHTING_UNDERLINE_SUFFIX=".underline"; //$NON-NLS-1$
2593 
2594 	/**
2595 	 * A named preference suffix that controls if semantic highlighting is enabled.
2596 	 * <p>
2597 	 * Value is of type <code>Boolean</code>: <code>true</code> if enabled.
2598 	 * </p>
2599 	 *
2600 	 * @since 3.0
2601 	 */
2602 	public static final String EDITOR_SEMANTIC_HIGHLIGHTING_ENABLED_SUFFIX=".enabled"; //$NON-NLS-1$
2603 
2604 	/**
2605 	 * A named preference that controls disabling of the overwrite mode.
2606 	 * <p>
2607 	 * Value is of type <code>Boolean</code>.
2608 	 * </p>
2609 	 *
2610 	 * @since 3.0
2611 	 * @deprecated as of 3.1 replaced by {@link AbstractDecoratedTextEditorPreferenceConstants#EDITOR_DISABLE_OVERWRITE_MODE}
2612 	 */
2613 	@Deprecated
2614 	public static final String EDITOR_DISABLE_OVERWRITE_MODE= "disable_overwrite_mode"; //$NON-NLS-1$
2615 
2616 	/**
2617 	 * A named preference that controls the "smart semicolon" smart typing handler.
2618 	 * <p>
2619 	 * Value is of type <code>Boolean</code>.
2620 	 * </p>
2621 	 *
2622 	 * @since 3.0
2623 	 */
2624 	public static final String EDITOR_SMART_SEMICOLON= "smart_semicolon"; //$NON-NLS-1$
2625 
2626 	/**
2627 	 * A named preference that controls the smart backspace behavior.
2628 	 * <p>
2629 	 * Value is of type <code>Boolean</code>.
2630 	 *
2631 	 * @since 3.0
2632 	 */
2633 	public static final String EDITOR_SMART_BACKSPACE= "smart_backspace"; //$NON-NLS-1$
2634 
2635 	/**
2636 	 * A named preference that controls the "smart opening brace" smart typing handler.
2637 	 * <p>
2638 	 * Value is of type <code>Boolean</code>.
2639 	 * </p>
2640 	 *
2641 	 * @since 3.0
2642 	 */
2643 	public static final String EDITOR_SMART_OPENING_BRACE= "smart_opening_brace"; //$NON-NLS-1$
2644 
2645 	/**
2646 	 * A named preference that controls the smart tab behavior.
2647 	 * <p>
2648 	 * Value is of type <code>Boolean</code>.
2649 	 *
2650 	 * @since 3.0
2651 	 */
2652 	public static final String EDITOR_SMART_TAB= "smart_tab"; //$NON-NLS-1$
2653 
2654 	/**
2655 	 * A named preference that controls whether Java comments should be
2656 	 * spell checked.
2657 	 * <p>
2658 	 * Value is of type <code>Boolean</code>.
2659 	 * </p>
2660 	 *
2661 	 * @deprecated since 3.1, use {@link org.eclipse.ui.texteditor.spelling.SpellingService#PREFERENCE_SPELLING_ENABLED}
2662 	 *             and {@link org.eclipse.ui.texteditor.spelling.SpellingService#PREFERENCE_SPELLING_ENGINE}
2663 	 * @since 3.0
2664 	 */
2665 	@Deprecated
2666 	public final static String SPELLING_CHECK_SPELLING= "spelling_check_spelling"; //$NON-NLS-1$
2667 
2668 	/**
2669 	 * A named preference that controls whether words containing digits should
2670 	 * be skipped during spell checking.
2671 	 * <p>
2672 	 * Value is of type <code>Boolean</code>.
2673 	 * </p>
2674 	 *
2675 	 * @since 3.0
2676 	 */
2677 	public final static String SPELLING_IGNORE_DIGITS= "spelling_ignore_digits"; //$NON-NLS-1$
2678 
2679 	/**
2680 	 * A named preference that controls whether mixed case words should be
2681 	 * skipped during spell checking.
2682 	 * <p>
2683 	 * Value is of type <code>Boolean</code>.
2684 	 * </p>
2685 	 *
2686 	 * @since 3.0
2687 	 */
2688 	public final static String SPELLING_IGNORE_MIXED= "spelling_ignore_mixed"; //$NON-NLS-1$
2689 
2690 	/**
2691 	 * A named preference that controls whether sentence capitalization should
2692 	 * be ignored during spell checking.
2693 	 * <p>
2694 	 * Value is of type <code>Boolean</code>.
2695 	 * </p>
2696 	 *
2697 	 * @since 3.0
2698 	 */
2699 	public final static String SPELLING_IGNORE_SENTENCE= "spelling_ignore_sentence"; //$NON-NLS-1$
2700 
2701 	/**
2702 	 * A named preference that controls whether upper case words should be
2703 	 * skipped during spell checking.
2704 	 * <p>
2705 	 * Value is of type <code>Boolean</code>.
2706 	 * </p>
2707 	 *
2708 	 * @since 3.0
2709 	 */
2710 	public final static String SPELLING_IGNORE_UPPER= "spelling_ignore_upper"; //$NON-NLS-1$
2711 
2712 	/**
2713 	 * A named preference that controls whether URLs should be ignored during
2714 	 * spell checking.
2715 	 * <p>
2716 	 * Value is of type <code>Boolean</code>.
2717 	 * </p>
2718 	 *
2719 	 * @since 3.0
2720 	 */
2721 	public final static String SPELLING_IGNORE_URLS= "spelling_ignore_urls"; //$NON-NLS-1$
2722 
2723 	/**
2724 	 * A named preference that controls whether single letters
2725 	 * should be ignored during spell checking.
2726 	 * <p>
2727 	 * Value is of type <code>Boolean</code>.
2728 	 * </p>
2729 	 *
2730 	 * @since 3.3
2731 	 */
2732 	public final static String SPELLING_IGNORE_SINGLE_LETTERS= "spelling_ignore_single_letters"; //$NON-NLS-1$
2733 
2734 	/**
2735 	 * A named preference that controls whether '&' in
2736 	 * Java properties files are ignored.
2737 	 * <p>
2738 	 * Value is of type <code>Boolean</code>.
2739 	 * </p>
2740 	 *
2741 	 * @since 3.3
2742 	 */
2743 	public final static String SPELLING_IGNORE_AMPERSAND_IN_PROPERTIES= "spelling_ignore_ampersand_in_properties"; //$NON-NLS-1$
2744 
2745 	/**
2746 	 * A named preference that controls whether non-letters at word boundaries
2747 	 * should be ignored during spell checking.
2748 	 * <p>
2749 	 * Value is of type <code>Boolean</code>.
2750 	 * </p>
2751 	 *
2752 	 * @since 3.3
2753 	 */
2754 	public final static String SPELLING_IGNORE_NON_LETTERS= "spelling_ignore_non_letters"; //$NON-NLS-1$
2755 
2756 	/**
2757 	 * A named preference that controls whether Java strings
2758 	 * should be ignored during spell checking.
2759 	 * <p>
2760 	 * Value is of type <code>Boolean</code>.
2761 	 * </p>
2762 	 *
2763 	 * @since 3.4
2764 	 */
2765 	public static final String SPELLING_IGNORE_JAVA_STRINGS= "spelling_ignore_java_strings"; //$NON-NLS-1$;
2766 
2767 	/**
2768 	 * A named preference that controls the locale used for spell checking.
2769 	 * <p>
2770 	 * Value is of type <code>String</code>.
2771 	 * </p>
2772 	 *
2773 	 * @since 3.0
2774 	 */
2775 	public final static String SPELLING_LOCALE= "spelling_locale"; //$NON-NLS-1$
2776 
2777 	/**
2778 	 * A named preference that controls the number of proposals offered during
2779 	 * spell checking.
2780 	 * <p>
2781 	 * Value is of type <code>Integer</code>.
2782 	 * </p>
2783 	 *
2784 	 * @since 3.0
2785 	 */
2786 	public final static String SPELLING_PROPOSAL_THRESHOLD= "spelling_proposal_threshold"; //$NON-NLS-1$
2787 
2788 	/**
2789 	 * A named preference that controls the maximum number of problems reported during spell checking.
2790 	 * <p>
2791 	 * Value is of type <code>Integer</code>.
2792 	 * </p>
2793 	 *
2794 	 * @since 3.4
2795 	 */
2796 	public final static String SPELLING_PROBLEMS_THRESHOLD= "spelling_problems_threshold"; //$NON-NLS-1$
2797 
2798 	/**
2799 	 * A named preference that specifies the workspace user dictionary.
2800 	 * <p>
2801 	 * Value is of type <code>Integer</code>.
2802 	 * </p>
2803 	 *
2804 	 * @since 3.0
2805 	 */
2806 	public final static String SPELLING_USER_DICTIONARY= "spelling_user_dictionary"; //$NON-NLS-1$
2807 
2808 	/**
2809 	 * A named preference that specifies encoding of the workspace user dictionary.
2810 	 * <p>
2811 	 * Value is of type <code>String</code>.
2812 	 * </p>
2813 	 *
2814 	 * @since 3.3
2815 	 */
2816 	public final static String SPELLING_USER_DICTIONARY_ENCODING= "spelling_user_dictionary_encoding"; //$NON-NLS-1$
2817 
2818 	/**
2819 	 * A named preference that specifies whether spelling dictionaries are available to content assist.
2820 	 *
2821 	 * <strong>Note:</strong> This is currently not supported because the spelling engine
2822 	 * cannot return word proposals but only correction proposals.
2823 	 * <p>
2824 	 * Value is of type <code>Boolean</code>.
2825 	 * </p>
2826 	 *
2827 	 * @since 3.0
2828 	 */
2829 	public final static String SPELLING_ENABLE_CONTENTASSIST= "spelling_enable_contentassist"; //$NON-NLS-1$
2830 
2831 	/**
2832 	 * A named preference that controls whether code snippets are formatted
2833 	 * in Javadoc comments.
2834 	 * <p>
2835 	 * Value is of type <code>Boolean</code>.
2836 	 * </p>
2837 	 *
2838 	 * @since 3.0
2839 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_SOURCE}
2840 	 */
2841 	@Deprecated
2842 	public final static String FORMATTER_COMMENT_FORMATSOURCE= "comment_format_source_code"; //$NON-NLS-1$
2843 
2844 	/**
2845 	 * A named preference that controls whether description of Javadoc
2846 	 * parameters are indented.
2847 	 * <p>
2848 	 * Value is of type <code>Boolean</code>.
2849 	 * </p>
2850 	 *
2851 	 * @since 3.0
2852 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INDENT_PARAMETER_DESCRIPTION}
2853 	 */
2854 	@Deprecated
2855 	public final static String FORMATTER_COMMENT_INDENTPARAMETERDESCRIPTION= "comment_indent_parameter_description"; //$NON-NLS-1$
2856 
2857 	/**
2858 	 * A named preference that controls whether the header comment of
2859 	 * a Java source file is formatted.
2860 	 * <p>
2861 	 * Value is of type <code>Boolean</code>.
2862 	 * </p>
2863 	 *
2864 	 * @since 3.0
2865 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_HEADER}
2866 	 */
2867 	@Deprecated
2868 	public final static String FORMATTER_COMMENT_FORMATHEADER= "comment_format_header"; //$NON-NLS-1$
2869 
2870 	/**
2871 	 * A named preference that controls whether Javadoc root tags
2872 	 * are indented.
2873 	 * <p>
2874 	 * Value is of type <code>Boolean</code>.
2875 	 * </p>
2876 	 *
2877 	 * @since 3.0
2878 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INDENT_ROOT_TAGS}
2879 	 */
2880 	@Deprecated
2881 	public final static String FORMATTER_COMMENT_INDENTROOTTAGS= "comment_indent_root_tags"; //$NON-NLS-1$
2882 
2883 	/**
2884 	 * A named preference that controls whether Javadoc comments
2885 	 * are formatted by the content formatter.
2886 	 * <p>
2887 	 * Value is of type <code>Boolean</code>.
2888 	 * </p>
2889 	 *
2890 	 * @since 3.0
2891 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT}
2892 	 */
2893 	@Deprecated
2894 	public final static String FORMATTER_COMMENT_FORMAT= "comment_format_comments"; //$NON-NLS-1$
2895 
2896 	/**
2897 	 * A named preference that controls whether a new line is inserted
2898 	 * after Javadoc root tag parameters.
2899 	 * <p>
2900 	 * Value is of type <code>Boolean</code>.
2901 	 * </p>
2902 	 *
2903 	 * @since 3.0
2904 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INSERT_NEW_LINE_FOR_PARAMETER}
2905 	 */
2906 	@Deprecated
2907 	public final static String FORMATTER_COMMENT_NEWLINEFORPARAMETER= "comment_new_line_for_parameter"; //$NON-NLS-1$
2908 
2909 	/**
2910 	 * A named preference that controls whether an empty line is inserted before
2911 	 * the Javadoc root tag block.
2912 	 * <p>
2913 	 * Value is of type <code>Boolean</code>.
2914 	 * </p>
2915 	 *
2916 	 * @since 3.0
2917 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INSERT_EMPTY_LINE_BEFORE_ROOT_TAGS}
2918 	 */
2919 	@Deprecated
2920 	public final static String FORMATTER_COMMENT_SEPARATEROOTTAGS= "comment_separate_root_tags"; //$NON-NLS-1$
2921 
2922 	/**
2923 	 * A named preference that controls whether blank lines are cleared during formatting.
2924 	 * <p>
2925 	 * Value is of type <code>Boolean</code>.
2926 	 * </p>
2927 	 *
2928 	 * @since 3.0
2929 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_CLEAR_BLANK_LINES}
2930 	 */
2931 	@Deprecated
2932 	public final static String FORMATTER_COMMENT_CLEARBLANKLINES= "comment_clear_blank_lines"; //$NON-NLS-1$
2933 
2934 	/**
2935 	 * A named preference that controls the line length of comments.
2936 	 * <p>
2937 	 * Value is of type <code>Integer</code>. The value must be at least 4 for reasonable formatting.
2938 	 * </p>
2939 	 *
2940 	 * @since 3.0
2941 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_LINE_LENGTH}
2942 	 */
2943 	@Deprecated
2944 	public final static String FORMATTER_COMMENT_LINELENGTH= "comment_line_length"; //$NON-NLS-1$
2945 
2946 	/**
2947 	 * A named preference that controls whether HTML tags are formatted.
2948 	 * <p>
2949 	 * Value is of type <code>Boolean</code>.
2950 	 * </p>
2951 	 *
2952 	 * @since 3.0
2953 	 * @deprecated As of 3.1, replaced by {@link org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_HTML}
2954 	 */
2955 	@Deprecated
2956 	public final static String FORMATTER_COMMENT_FORMATHTML= "comment_format_html"; //$NON-NLS-1$
2957 
2958 	/**
2959 	 * A named preference that controls whether completion processors should be called from the non-UI thread,
2960 	 * when they declare ability to work from non-UI Thread.
2961 	 * <p>Completion processors can declare whether they
2962 	 * require UI Thread or not in their extension description, see {@link org.eclipse.jdt.internal.ui.text.java.CompletionProposalComputerDescriptor#requiresUIThread()}.</p>
2963 	 * <p>Value is of type <code>Boolean</code></p>
2964 	 *
2965 	 * @since 3.21
2966 	 */
2967 	public static final String CODEASSIST_NONUITHREAD_COMPUTATION= "content_assist_noUIThread_computation"; //$NON-NLS-1$
2968 
2969 
2970 	/**
2971 	 * A named preference that controls if the Java code assist gets auto activated.
2972 	 * <p>
2973 	 * Value is of type <code>Boolean</code>.
2974 	 * </p>
2975 	 */
2976 	public final static String CODEASSIST_AUTOACTIVATION= "content_assist_autoactivation"; //$NON-NLS-1$
2977 
2978 	/**
2979 	 * A name preference that holds the auto activation delay time in milliseconds.
2980 	 * <p>
2981 	 * Value is of type <code>Integer</code>.
2982 	 * </p>
2983 	 */
2984 	public final static String CODEASSIST_AUTOACTIVATION_DELAY= "content_assist_autoactivation_delay"; //$NON-NLS-1$
2985 
2986 	/**
2987 	 * A named preference that controls if code assist contains only visible proposals.
2988 	 * <p>
2989 	 * Value is of type <code>Boolean</code>. if <code>true</code> code assist only contains visible members. If
2990 	 * <code>false</code> all members are included.
2991 	 * </p>
2992 	 */
2993 	public final static String CODEASSIST_SHOW_VISIBLE_PROPOSALS= "content_assist_show_visible_proposals"; //$NON-NLS-1$
2994 
2995 	/**
2996 	 * A named preference that controls if the Java code assist inserts a
2997 	 * proposal automatically if only one proposal is available.
2998 	 * <p>
2999 	 * Value is of type <code>Boolean</code>.
3000 	 * </p>
3001 	 * @since 2.1
3002 	 */
3003 	public final static String CODEASSIST_AUTOINSERT= "content_assist_autoinsert"; //$NON-NLS-1$
3004 
3005 	/**
3006 	 * A named preference that controls if the Java code assist ignores the insertion trigger
3007 	 * characters for completion proposals.
3008 	 * <p>
3009 	 * Value is of type <code>Boolean</code>.
3010 	 * </p>
3011 	 *
3012 	 * @since 3.16
3013 	 * @see ContentAssistant#enableCompletionProposalTriggerChars(boolean)
3014 	 */
3015 	public static final String CODEASSIST_DISABLE_COMPLETION_PROPOSAL_TRIGGER_CHARS= "content_assist_disable_completion_trigger_chars"; //$NON-NLS-1$
3016 
3017 	/**
3018 	 * A named preference that controls if the Java code assist adds import
3019 	 * statements.
3020 	 * <p>
3021 	 * Value is of type <code>Boolean</code>.
3022 	 * </p>
3023 	 * @since 2.1
3024 	 */
3025 	public final static String CODEASSIST_ADDIMPORT= "content_assist_add_import"; //$NON-NLS-1$
3026 
3027 	/**
3028 	 * A named preference that controls if the Java code assist only inserts
3029 	 * completions. If set to false the proposals can also _replace_ code.
3030 	 * <p>
3031 	 * Value is of type <code>Boolean</code>.
3032 	 * </p>
3033 	 * @since 2.1
3034 	 */
3035 	public final static String CODEASSIST_INSERT_COMPLETION= "content_assist_insert_completion"; //$NON-NLS-1$
3036 
3037 	/**
3038 	 * A named preference that controls whether code assist proposals filtering is case sensitive or not.
3039 	 * <p>
3040 	 * Value is of type <code>Boolean</code>.
3041 	 * </p>
3042 	 */
3043 	public final static String CODEASSIST_CASE_SENSITIVITY= "content_assist_case_sensitivity"; //$NON-NLS-1$
3044 
3045 	/**
3046 	 * A named preference that defines if code assist proposals are sorted in alphabetical order.
3047 	 * <p>
3048 	 * Value is of type <code>Boolean</code>. If <code>true</code> that are sorted in alphabetical
3049 	 * order. If <code>false</code> that are unsorted.
3050 	 * </p>
3051 	 * @deprecated use {@link #CODEASSIST_SORTER} instead
3052 	 */
3053 	@Deprecated
3054 	public final static String CODEASSIST_ORDER_PROPOSALS= "content_assist_order_proposals"; //$NON-NLS-1$
3055 
3056 	/**
3057 	 * A named preference that controls if argument names are filled in when a method is selected from as list
3058 	 * of code assist proposal.
3059 	 * <p>
3060 	 * Value is of type <code>Boolean</code>.
3061 	 * </p>
3062 	 */
3063 	public final static String CODEASSIST_FILL_ARGUMENT_NAMES= "content_assist_fill_method_arguments"; //$NON-NLS-1$
3064 
3065 	/**
3066 	 * A named preference that controls if method arguments are guessed when a
3067 	 * method is selected from as list of code assist proposal.
3068 	 * <p>
3069 	 * Value is of type <code>Boolean</code>.
3070 	 * </p>
3071 	 * @since 2.1
3072 	 */
3073 	public final static String CODEASSIST_GUESS_METHOD_ARGUMENTS= "content_assist_guess_method_arguments"; //$NON-NLS-1$
3074 
3075 	/**
3076 	 * A named preference that holds the characters that auto activate code assist in Java code.
3077 	 * <p>
3078 	 * Value is of type <code>String</code>. All characters that trigger auto code assist in Java code.
3079 	 * </p>
3080 	 */
3081 	public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA= "content_assist_autoactivation_triggers_java"; //$NON-NLS-1$
3082 
3083 	/**
3084 	 * A named preference that holds the characters that auto activate code assist in Javadoc.
3085 	 * <p>
3086 	 * Value is of type <code>String</code>. All characters that trigger auto code assist in Javadoc.
3087 	 * </p>
3088 	 */
3089 	public final static String CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC= "content_assist_autoactivation_triggers_javadoc"; //$NON-NLS-1$
3090 
3091 	/**
3092 	 * A named preference that holds the background color used in the code assist selection dialog.
3093 	 * <p>
3094 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3095 	 * using class <code>PreferenceConverter</code>
3096 	 * </p>
3097 	 *
3098 	 * @see org.eclipse.jface.resource.StringConverter
3099 	 * @see org.eclipse.jface.preference.PreferenceConverter
3100 	 * @deprecated As of 3.4, replaced by {@link JFacePreferences#CONTENT_ASSIST_BACKGROUND_COLOR},
3101 	 */
3102 	@Deprecated
3103 	public final static String CODEASSIST_PROPOSALS_BACKGROUND= "content_assist_proposals_background"; //$NON-NLS-1$
3104 
3105 	/**
3106 	 * A named preference that holds the foreground color used in the code assist selection dialog.
3107 	 * <p>
3108 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3109 	 * using class <code>PreferenceConverter</code>
3110 	 * </p>
3111 	 *
3112 	 * @see org.eclipse.jface.resource.StringConverter
3113 	 * @see org.eclipse.jface.preference.PreferenceConverter
3114 	 * @deprecated As of 3.4, replaced by {@link JFacePreferences#CONTENT_ASSIST_FOREGROUND_COLOR},
3115 	 */
3116 	@Deprecated
3117 	public final static String CODEASSIST_PROPOSALS_FOREGROUND= "content_assist_proposals_foreground"; //$NON-NLS-1$
3118 
3119 	/**
3120 	 * A named preference that holds the background color used for parameter hints.
3121 	 * <p>
3122 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3123 	 * using class <code>PreferenceConverter</code>
3124 	 * </p>
3125 	 *
3126 	 * @see org.eclipse.jface.resource.StringConverter
3127 	 * @see org.eclipse.jface.preference.PreferenceConverter
3128 	 */
3129 	public final static String CODEASSIST_PARAMETERS_BACKGROUND= "content_assist_parameters_background"; //$NON-NLS-1$
3130 
3131 	/**
3132 	 * A named preference that holds the foreground color used in the code assist selection dialog.
3133 	 * <p>
3134 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3135 	 * using class <code>PreferenceConverter</code>
3136 	 * </p>
3137 	 *
3138 	 * @see org.eclipse.jface.resource.StringConverter
3139 	 * @see org.eclipse.jface.preference.PreferenceConverter
3140 	 */
3141 	public final static String CODEASSIST_PARAMETERS_FOREGROUND= "content_assist_parameters_foreground"; //$NON-NLS-1$
3142 
3143 	/**
3144 	 * A named preference that holds the background color used in the code
3145 	 * assist selection dialog to mark replaced code.
3146 	 * <p>
3147 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3148 	 * using class <code>PreferenceConverter</code>
3149 	 * </p>
3150 	 *
3151 	 * @see org.eclipse.jface.resource.StringConverter
3152 	 * @see org.eclipse.jface.preference.PreferenceConverter
3153 	 * @since 2.1
3154 	 */
3155 	public final static String CODEASSIST_REPLACEMENT_BACKGROUND= "content_assist_completion_replacement_background"; //$NON-NLS-1$
3156 
3157 	/**
3158 	 * A named preference that holds the foreground color used in the code
3159 	 * assist selection dialog to mark replaced code.
3160 	 * <p>
3161 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3162 	 * using class <code>PreferenceConverter</code>
3163 	 * </p>
3164 	 *
3165 	 * @see org.eclipse.jface.resource.StringConverter
3166 	 * @see org.eclipse.jface.preference.PreferenceConverter
3167 	 * @since 2.1
3168 	 */
3169 	public final static String CODEASSIST_REPLACEMENT_FOREGROUND= "content_assist_completion_replacement_foreground"; //$NON-NLS-1$
3170 
3171 	/**
3172 	 * A named preference that holds the favorite static members.
3173 	 * <p>
3174 	 * Value is of type <code>String</code>: semicolon separated list of favorites.
3175 	 * </p>
3176 	 *
3177 	 * @see org.eclipse.jface.resource.StringConverter
3178 	 * @see org.eclipse.jface.preference.PreferenceConverter
3179 	 * @since 3.3
3180 	 */
3181 	public final static String CODEASSIST_FAVORITE_STATIC_MEMBERS= "content_assist_favorite_static_members"; //$NON-NLS-1$
3182 
3183 
3184 	/**
3185 	 * A named preference that controls the behavior of the refactoring wizard for showing the error page.
3186 	 * <p>
3187 	 * Value is of type <code>String</code>. Valid values are:
3188 	 * <code>REFACTOR_FATAL_SEVERITY</code>,
3189 	 * <code>REFACTOR_ERROR_SEVERITY</code>,
3190 	 * <code>REFACTOR_WARNING_SEVERITY</code>
3191 	 * <code>REFACTOR_INFO_SEVERITY</code>,
3192 	 * <code>REFACTOR_OK_SEVERITY</code>.
3193 	 * </p>
3194 	 *
3195 	 * @see #REFACTOR_FATAL_SEVERITY
3196 	 * @see #REFACTOR_ERROR_SEVERITY
3197 	 * @see #REFACTOR_WARNING_SEVERITY
3198 	 * @see #REFACTOR_INFO_SEVERITY
3199 	 * @see #REFACTOR_OK_SEVERITY
3200 	 *
3201 	 * @deprecated Use method {@link org.eclipse.ltk.core.refactoring.RefactoringCore#getConditionCheckingFailedSeverity()}.
3202 	 */
3203 	@Deprecated
3204 	public static final String REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD= "Refactoring.ErrorPage.severityThreshold"; //$NON-NLS-1$
3205 
3206 	/**
3207 	 * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
3208 	 *
3209 	 * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
3210 	 * @deprecated Use constant {@link org.eclipse.ltk.core.refactoring.RefactoringStatus#FATAL}
3211 	 */
3212 	@Deprecated
3213 	public static final String REFACTOR_FATAL_SEVERITY= "4"; //$NON-NLS-1$
3214 
3215 	/**
3216 	 * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
3217 	 *
3218 	 * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
3219 	 * @deprecated Use constant {@link org.eclipse.ltk.core.refactoring.RefactoringStatus#ERROR}
3220 	 */
3221 	@Deprecated
3222 	public static final String REFACTOR_ERROR_SEVERITY= "3"; //$NON-NLS-1$
3223 
3224 	/**
3225 	 * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
3226 	 *
3227 	 * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
3228 	 * @deprecated Use constant {@link org.eclipse.ltk.core.refactoring.RefactoringStatus#WARNING}
3229 	 */
3230 	@Deprecated
3231 	public static final String REFACTOR_WARNING_SEVERITY= "2"; //$NON-NLS-1$
3232 
3233 	/**
3234 	 * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
3235 	 *
3236 	 * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
3237 	 * @deprecated Use constant {@link org.eclipse.ltk.core.refactoring.RefactoringStatus#INFO}
3238 	 */
3239 	@Deprecated
3240 	public static final String REFACTOR_INFO_SEVERITY= "1"; //$NON-NLS-1$
3241 
3242 	/**
3243 	 * A string value used by the named preference <code>REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD</code>.
3244 	 *
3245 	 * @see #REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD
3246 	 * @deprecated Use constant {@link org.eclipse.ltk.core.refactoring.RefactoringStatus#OK}
3247 	 */
3248 	@Deprecated
3249 	public static final String REFACTOR_OK_SEVERITY= "0"; //$NON-NLS-1$
3250 
3251 	/**
3252 	 * A named preference that controls whether all dirty editors are automatically saved before a refactoring is
3253 	 * executed.
3254 	 * <p>
3255 	 * Value is of type <code>Boolean</code>.
3256 	 * </p>
3257 	 */
3258 	public static final String REFACTOR_SAVE_ALL_EDITORS= "Refactoring.savealleditors"; //$NON-NLS-1$
3259 
3260 	/**
3261 	 * A named preference that controls whether certain refactorings use a lightweight UI when
3262 	 * started from a Java editor.
3263 	 * <p>
3264 	 * Value is of type <code>Boolean</code>.
3265 	 * </p>
3266 	 * <p>
3267 	 * Note: this is work in progress and may change any time
3268 	 * </p>
3269 	 * @since 3.3
3270 	 */
3271 	public static final String REFACTOR_LIGHTWEIGHT= "Refactor.lightweight"; //$NON-NLS-1$
3272 
3273 	/**
3274 	 * A named preference that controls a reduced search menu is used in the Java editors.
3275 	 * <p>
3276 	 * Value is of type <code>Boolean</code>.
3277 	 * </p>
3278 	 * @since 3.0
3279 	 */
3280 	public static final String SEARCH_USE_REDUCED_MENU= "Search.usereducemenu"; //$NON-NLS-1$
3281 
3282 	/**
3283 	 * A named preference that controls if the Java Browsing views are linked to the active editor.
3284 	 * <p>
3285 	 * Value is of type <code>Boolean</code>.
3286 	 * </p>
3287 	 *
3288 	 */
3289 	public static final String BROWSING_LINK_VIEW_TO_EDITOR= "org.eclipse.jdt.ui.browsing.linktoeditor"; //$NON-NLS-1$
3290 
3291 	/**
3292 	 * A named preference that controls the layout of the Java Browsing views vertically. Boolean value.
3293 	 * <p>
3294 	 * Value is of type <code>Boolean</code>. If <code>true</code> the views are stacked vertical.
3295 	 * If <code>false</code> they are stacked horizontal.
3296 	 * </p>
3297 	 */
3298 	public static final String BROWSING_STACK_VERTICALLY= "org.eclipse.jdt.ui.browsing.stackVertically"; //$NON-NLS-1$
3299 
3300 
3301 	/**
3302 	 * A named preference that controls if templates are formatted when applied.
3303 	 * <p>
3304 	 * Value is of type <code>Boolean</code>.
3305 	 * </p>
3306 	 *
3307 	 * @since 2.1
3308 	 */
3309 	public static final String TEMPLATES_USE_CODEFORMATTER= "org.eclipse.jdt.ui.template.format"; //$NON-NLS-1$
3310 
3311 	/**
3312 	 * A named preference that controls which profile is used by the code formatter.
3313 	 * <p>
3314 	 * Value is of type <code>String</code>.
3315 	 * </p>
3316 	 *
3317 	 * @since 3.0
3318 	 */
3319 	public static final String FORMATTER_PROFILE= "formatter_profile"; //$NON-NLS-1$
3320 
3321 	/**
3322 	 * A named preference that controls whether annotation roll over is used or not.
3323 	 * <p>
3324 	 * Value is of type <code>Boolean</code>. If <code>true</code> the annotation ruler column
3325 	 * uses a roll over to display multiple annotations
3326 	 * </p>
3327 	 *
3328 	 * @since 3.0
3329 	 */
3330 	public static final String EDITOR_ANNOTATION_ROLL_OVER= "editor_annotation_roll_over"; //$NON-NLS-1$
3331 
3332 	/**
3333 	 * A named preference that controls if content assist inserts the common
3334 	 * prefix of all proposals before presenting choices.
3335 	 * <p>
3336 	 * Value is of type <code>Boolean</code>.
3337 	 * </p>
3338 	 *
3339 	 * @since 3.0
3340 	 */
3341 	public final static String CODEASSIST_PREFIX_COMPLETION= "content_assist_prefix_completion"; //$NON-NLS-1$
3342 
3343 	/**
3344 	 * A named preference that controls which completion proposal categories
3345 	 * have been excluded from the default proposal list.
3346 	 * <p>
3347 	 * Value is of type <code>String</code>, a "\0"-separated list of identifiers.
3348 	 * </p>
3349 	 *
3350 	 * @see #getExcludedCompletionProposalCategories()
3351 	 * @see #setExcludedCompletionProposalCategories(String[])
3352 	 * @since 3.2
3353 	 */
3354 	public static final String CODEASSIST_EXCLUDED_CATEGORIES= "content_assist_disabled_computers"; //$NON-NLS-1$
3355 
3356 	/**
3357 	 * A named preference that controls which the order of the specific code assist commands.
3358 	 * <p>
3359 	 * Value is of type <code>String</code>, a "\0"-separated list with categoryId:cycleState where
3360 	 * </p>
3361 	 * <ul>
3362 	 * <li>categoryId is the <code>String</code> holding the category ID</li>
3363 	 * <li>cycleState is an <code>int</code> which specifies the rank and the enablement:
3364 	 * <ul>
3365 	 *		<li>enabled= cycleState < 65535</li>
3366 	 *		<li>rank= enabled ? cycleState : cycleState - 65535)</li>
3367 	 * </ul></li>
3368 	 * </ul>
3369 	 *
3370 	 * @since 3.2
3371 	 */
3372 	public static final String CODEASSIST_CATEGORY_ORDER= "content_assist_category_order"; //$NON-NLS-1$
3373 
3374 	/**
3375 	 * A named preference that controls whether folding is enabled in the Java editor.
3376 	 * <p>
3377 	 * Value is of type <code>Boolean</code>.
3378 	 * </p>
3379 	 *
3380 	 * @since 3.0
3381 	 */
3382 	public static final String EDITOR_FOLDING_ENABLED= "editor_folding_enabled"; //$NON-NLS-1$
3383 
3384 	/**
3385 	 * A named preference that stores the configured folding provider.
3386 	 * <p>
3387 	 * Value is of type <code>String</code>.
3388 	 * </p>
3389 	 *
3390 	 * @since 3.0
3391 	 */
3392 	public static final String EDITOR_FOLDING_PROVIDER= "editor_folding_provider"; //$NON-NLS-1$
3393 
3394 	/**
3395 	 * A named preference that stores the value for Javadoc folding for the default folding provider.
3396 	 * <p>
3397 	 * Value is of type <code>Boolean</code>.
3398 	 * </p>
3399 	 *
3400 	 * @since 3.0
3401 	 */
3402 	public static final String EDITOR_FOLDING_JAVADOC= "editor_folding_default_javadoc"; //$NON-NLS-1$
3403 
3404 	/**
3405 	 * A named preference that stores the value for inner type folding for the default folding provider.
3406 	 * <p>
3407 	 * Value is of type <code>Boolean</code>.
3408 	 * </p>
3409 	 *
3410 	 * @since 3.0
3411 	 */
3412 	public static final String EDITOR_FOLDING_INNERTYPES= "editor_folding_default_innertypes"; //$NON-NLS-1$
3413 
3414 	/**
3415 	 * A named preference that stores the value for method folding for the default folding provider.
3416 	 * <p>
3417 	 * Value is of type <code>Boolean</code>.
3418 	 * </p>
3419 	 *
3420 	 * @since 3.0
3421 	 */
3422 	public static final String EDITOR_FOLDING_METHODS= "editor_folding_default_methods"; //$NON-NLS-1$
3423 
3424 	/**
3425 	 * A named preference that stores the value for imports folding for the default folding provider.
3426 	 * <p>
3427 	 * Value is of type <code>Boolean</code>.
3428 	 * </p>
3429 	 *
3430 	 * @since 3.0
3431 	 */
3432 	public static final String EDITOR_FOLDING_IMPORTS= "editor_folding_default_imports"; //$NON-NLS-1$
3433 
3434 	/**
3435 	 * A named preference that stores the value for header comment folding for the default folding provider.
3436 	 * <p>
3437 	 * Value is of type <code>Boolean</code>.
3438 	 * </p>
3439 	 *
3440 	 * @since 3.1
3441 	 */
3442 	public static final String EDITOR_FOLDING_HEADERS= "editor_folding_default_headers"; //$NON-NLS-1$
3443 
3444 	/**
3445 	 * A named preference that holds the methods or types whose methods are by default expanded with
3446 	 * constructors in the Call Hierarchy.
3447 	 * <p>
3448 	 * Value is of type <code>String</code>: semicolon separated list of fully qualified type names
3449 	 * appended with ".*" or "." + method name.
3450 	 * </p>
3451 	 *
3452 	 * @since 3.6
3453 	 */
3454 	public static final String PREF_DEFAULT_EXPAND_WITH_CONSTRUCTORS_MEMBERS= "CallHierarchy.defaultExpandWithConstructorsMembers"; //$NON-NLS-1$
3455 
3456 	/**
3457 	 * A named preference that controls whether methods from anonymous types are by default expanded
3458 	 * with constructors in the Call Hierarchy.
3459 	 * <p>
3460 	 * Value is of type <code>Boolean</code>.
3461 	 * </p>
3462 	 *
3463 	 * @since 3.6
3464 	 */
3465 	public static final String PREF_ANONYMOUS_EXPAND_WITH_CONSTRUCTORS= "CallHierarchy.anonymousExpandWithConstructors"; //$NON-NLS-1$
3466 
3467 
3468 	//---------- Properties File Editor ----------
3469 
3470 	/**
3471 	 * The symbolic font name for the Java properties file editor text font
3472 	 * (value <code>"org.eclipse.jdt.ui.PropertiesFileEditor.textfont"</code>).
3473 	 *
3474 	 * @since 3.1
3475 	 */
3476 	public static final String PROPERTIES_FILE_EDITOR_TEXT_FONT= "org.eclipse.jdt.ui.PropertiesFileEditor.textfont"; //$NON-NLS-1$
3477 
3478 	/**
3479 	 * A named preference that holds the color used to render keys in a properties file.
3480 	 * <p>
3481 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3482 	 * using class <code>PreferenceConverter</code>
3483 	 * </p>
3484 	 *
3485 	 * @see org.eclipse.jface.resource.StringConverter
3486 	 * @see org.eclipse.jface.preference.PreferenceConverter
3487 	 * @since 3.1
3488 	 */
3489 	public static final String PROPERTIES_FILE_COLORING_KEY= IJavaColorConstants.PROPERTIES_FILE_COLORING_KEY;
3490 
3491 	/**
3492 	 * A named preference that controls whether keys in a properties file are rendered in bold.
3493 	 * <p>
3494 	 * Value is of type <code>Boolean</code>.
3495 	 * </p>
3496 	 *
3497 	 * @since 3.1
3498 	 */
3499 	public static final String PROPERTIES_FILE_COLORING_KEY_BOLD= PROPERTIES_FILE_COLORING_KEY + EDITOR_BOLD_SUFFIX;
3500 
3501 	/**
3502 	 * A named preference that controls whether keys in a properties file are rendered in italic.
3503 	 * <p>
3504 	 * Value is of type <code>Boolean</code>.
3505 	 * </p>
3506 	 *
3507 	 * @since 3.1
3508 	 */
3509 	public static final String PROPERTIES_FILE_COLORING_KEY_ITALIC= PROPERTIES_FILE_COLORING_KEY + EDITOR_ITALIC_SUFFIX;
3510 
3511 	/**
3512 	 * A named preference that controls whether keys in a properties file are rendered in strikethrough.
3513 	 * <p>
3514 	 * Value is of type <code>Boolean</code>.
3515 	 * </p>
3516 	 *
3517 	 * @since 3.1
3518 	 */
3519 	public static final String PROPERTIES_FILE_COLORING_KEY_STRIKETHROUGH= PROPERTIES_FILE_COLORING_KEY + EDITOR_STRIKETHROUGH_SUFFIX;
3520 
3521 	/**
3522 	 * A named preference that controls whether keys in a properties file are rendered in underline.
3523 	 * <p>
3524 	 * Value is of type <code>Boolean</code>.
3525 	 * </p>
3526 	 *
3527 	 * @since 3.1
3528 	 */
3529 	public static final String PROPERTIES_FILE_COLORING_KEY_UNDERLINE= PROPERTIES_FILE_COLORING_KEY + EDITOR_UNDERLINE_SUFFIX;
3530 
3531 	/**
3532 	 * A named preference that holds the color used to render comments in a properties file.
3533 	 * <p>
3534 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3535 	 * using class <code>PreferenceConverter</code>
3536 	 * </p>
3537 	 *
3538 	 * @see org.eclipse.jface.resource.StringConverter
3539 	 * @see org.eclipse.jface.preference.PreferenceConverter
3540 	 * @since 3.1
3541 	 */
3542 	public static final String PROPERTIES_FILE_COLORING_COMMENT= IJavaColorConstants.PROPERTIES_FILE_COLORING_COMMENT;
3543 
3544 	/**
3545 	 * A named preference that controls whether comments in a properties file are rendered in bold.
3546 	 * <p>
3547 	 * Value is of type <code>Boolean</code>.
3548 	 * </p>
3549 	 *
3550 	 * @since 3.1
3551 	 */
3552 	public static final String PROPERTIES_FILE_COLORING_COMMENT_BOLD= PROPERTIES_FILE_COLORING_COMMENT + EDITOR_BOLD_SUFFIX;
3553 
3554 	/**
3555 	 * A named preference that controls whether comments in a properties file are rendered in italic.
3556 	 * <p>
3557 	 * Value is of type <code>Boolean</code>.
3558 	 * </p>
3559 	 *
3560 	 * @since 3.1
3561 	 */
3562 	public static final String PROPERTIES_FILE_COLORING_COMMENT_ITALIC= PROPERTIES_FILE_COLORING_COMMENT + EDITOR_ITALIC_SUFFIX;
3563 
3564 	/**
3565 	 * A named preference that controls whether comments in a properties file are rendered in strikethrough.
3566 	 * <p>
3567 	 * Value is of type <code>Boolean</code>.
3568 	 * </p>
3569 	 *
3570 	 * @since 3.1
3571 	 */
3572 	public static final String PROPERTIES_FILE_COLORING_COMMENT_STRIKETHROUGH= PROPERTIES_FILE_COLORING_COMMENT + EDITOR_STRIKETHROUGH_SUFFIX;
3573 
3574 	/**
3575 	 * A named preference that controls whether comments in a properties file are rendered in underline.
3576 	 * <p>
3577 	 * Value is of type <code>Boolean</code>.
3578 	 * </p>
3579 	 *
3580 	 * @since 3.1
3581 	 */
3582 	public static final String PROPERTIES_FILE_COLORING_COMMENT_UNDERLINE= PROPERTIES_FILE_COLORING_COMMENT + EDITOR_UNDERLINE_SUFFIX;
3583 
3584 	/**
3585 	 * A named preference that holds the color used to render values in a properties file.
3586 	 * <p>
3587 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3588 	 * using class <code>PreferenceConverter</code>
3589 	 * </p>
3590 	 *
3591 	 * @see org.eclipse.jface.resource.StringConverter
3592 	 * @see org.eclipse.jface.preference.PreferenceConverter
3593 	 * @since 3.1
3594 	 */
3595 	public static final String PROPERTIES_FILE_COLORING_VALUE= IJavaColorConstants.PROPERTIES_FILE_COLORING_VALUE;
3596 
3597 	/**
3598 	 * A named preference that controls whether values in a properties file are rendered in bold.
3599 	 * <p>
3600 	 * Value is of type <code>Boolean</code>.
3601 	 * </p>
3602 	 *
3603 	 * @since 3.1
3604 	 */
3605 	public static final String PROPERTIES_FILE_COLORING_VALUE_BOLD= PROPERTIES_FILE_COLORING_VALUE + EDITOR_BOLD_SUFFIX;
3606 
3607 	/**
3608 	 * A named preference that controls whether values in a properties file are rendered in italic.
3609 	 * <p>
3610 	 * Value is of type <code>Boolean</code>.
3611 	 * </p>
3612 	 *
3613 	 * @since 3.1
3614 	 */
3615 	public static final String PROPERTIES_FILE_COLORING_VALUE_ITALIC= PROPERTIES_FILE_COLORING_VALUE + EDITOR_ITALIC_SUFFIX;
3616 
3617 	/**
3618 	 * A named preference that controls whether values in a properties file are rendered in strikethrough.
3619 	 * <p>
3620 	 * Value is of type <code>Boolean</code>.
3621 	 * </p>
3622 	 *
3623 	 * @since 3.1
3624 	 */
3625 	public static final String PROPERTIES_FILE_COLORING_VALUE_STRIKETHROUGH= PROPERTIES_FILE_COLORING_VALUE + EDITOR_STRIKETHROUGH_SUFFIX;
3626 
3627 	/**
3628 	 * A named preference that controls whether values in a properties file are rendered in underline.
3629 	 * <p>
3630 	 * Value is of type <code>Boolean</code>.
3631 	 * </p>
3632 	 *
3633 	 * @since 3.1
3634 	 */
3635 	public static final String PROPERTIES_FILE_COLORING_VALUE_UNDERLINE= PROPERTIES_FILE_COLORING_VALUE + EDITOR_UNDERLINE_SUFFIX;
3636 
3637 	/**
3638 	 * A named preference that holds the color used to render assignments in a properties file.
3639 	 * <p>
3640 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3641 	 * using class <code>PreferenceConverter</code>
3642 	 * </p>
3643 	 *
3644 	 * @see org.eclipse.jface.resource.StringConverter
3645 	 * @see org.eclipse.jface.preference.PreferenceConverter
3646 	 * @since 3.1
3647 	 */
3648 	public static final String PROPERTIES_FILE_COLORING_ASSIGNMENT= IJavaColorConstants.PROPERTIES_FILE_COLORING_ASSIGNMENT;
3649 
3650 	/**
3651 	 * A named preference that controls whether assignments in a properties file are rendered in bold.
3652 	 * <p>
3653 	 * Value is of type <code>Boolean</code>.
3654 	 * </p>
3655 	 *
3656 	 * @since 3.1
3657 	 */
3658 	public static final String PROPERTIES_FILE_COLORING_ASSIGNMENT_BOLD= PROPERTIES_FILE_COLORING_ASSIGNMENT + EDITOR_BOLD_SUFFIX;
3659 
3660 	/**
3661 	 * A named preference that controls whether assignments in a properties file are rendered in italic.
3662 	 * <p>
3663 	 * Value is of type <code>Boolean</code>.
3664 	 * </p>
3665 	 *
3666 	 * @since 3.1
3667 	 */
3668 	public static final String PROPERTIES_FILE_COLORING_ASSIGNMENT_ITALIC= PROPERTIES_FILE_COLORING_ASSIGNMENT + EDITOR_ITALIC_SUFFIX;
3669 
3670 	/**
3671 	 * A named preference that controls whether assignments in a properties file are rendered in strikethrough.
3672 	 * <p>
3673 	 * Value is of type <code>Boolean</code>.
3674 	 * </p>
3675 	 *
3676 	 * @since 3.1
3677 	 */
3678 	public static final String PROPERTIES_FILE_COLORING_ASSIGNMENT_STRIKETHROUGH= PROPERTIES_FILE_COLORING_ASSIGNMENT + EDITOR_STRIKETHROUGH_SUFFIX;
3679 
3680 	/**
3681 	 * A named preference that controls whether assignments in a properties file are rendered in underline.
3682 	 * <p>
3683 	 * Value is of type <code>Boolean</code>.
3684 	 * </p>
3685 	 *
3686 	 * @since 3.1
3687 	 */
3688 	public static final String PROPERTIES_FILE_COLORING_ASSIGNMENT_UNDERLINE= PROPERTIES_FILE_COLORING_ASSIGNMENT + EDITOR_UNDERLINE_SUFFIX;
3689 
3690 	/**
3691 	 * A named preference that holds the color used to render arguments in a properties file.
3692 	 * <p>
3693 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3694 	 * using class <code>PreferenceConverter</code>
3695 	 * </p>
3696 	 *
3697 	 * @see org.eclipse.jface.resource.StringConverter
3698 	 * @see org.eclipse.jface.preference.PreferenceConverter
3699 	 * @since 3.1
3700 	 */
3701 	public static final String PROPERTIES_FILE_COLORING_ARGUMENT= IJavaColorConstants.PROPERTIES_FILE_COLORING_ARGUMENT;
3702 
3703 	/**
3704 	 * A named preference that controls whether arguments in a properties file are rendered in bold.
3705 	 * <p>
3706 	 * Value is of type <code>Boolean</code>.
3707 	 * </p>
3708 	 *
3709 	 * @since 3.1
3710 	 */
3711 	public static final String PROPERTIES_FILE_COLORING_ARGUMENT_BOLD= PROPERTIES_FILE_COLORING_ARGUMENT + EDITOR_BOLD_SUFFIX;
3712 
3713 	/**
3714 	 * A named preference that controls whether arguments in a properties file are rendered in italic.
3715 	 * <p>
3716 	 * Value is of type <code>Boolean</code>.
3717 	 * </p>
3718 	 *
3719 	 * @since 3.1
3720 	 */
3721 	public static final String PROPERTIES_FILE_COLORING_ARGUMENT_ITALIC= PROPERTIES_FILE_COLORING_ARGUMENT + EDITOR_ITALIC_SUFFIX;
3722 
3723 	/**
3724 	 * A named preference that controls whether arguments in a properties file are rendered in strikethrough.
3725 	 * <p>
3726 	 * Value is of type <code>Boolean</code>.
3727 	 * </p>
3728 	 *
3729 	 * @since 3.1
3730 	 */
3731 	public static final String PROPERTIES_FILE_COLORING_ARGUMENT_STRIKETHROUGH= PROPERTIES_FILE_COLORING_ARGUMENT + EDITOR_STRIKETHROUGH_SUFFIX;
3732 
3733 	/**
3734 	 * A named preference that controls whether arguments in a properties file are rendered in underline.
3735 	 * <p>
3736 	 * Value is of type <code>Boolean</code>.
3737 	 * </p>
3738 	 *
3739 	 * @since 3.1
3740 	 */
3741 	public static final String PROPERTIES_FILE_COLORING_ARGUMENT_UNDERLINE= PROPERTIES_FILE_COLORING_ARGUMENT + EDITOR_UNDERLINE_SUFFIX;
3742 
3743 	/**
3744 	 * A named preference that stores the content assist LRU history
3745 	 * <p>
3746 	 * Value is an XML encoded version of the history.
3747 	 * </p>
3748 	 *
3749 	 * @see org.eclipse.jdt.internal.ui.text.java.ContentAssistHistory#load(org.eclipse.core.runtime.Preferences, String)
3750 	 * @since 3.2
3751 	 */
3752 	public static final String CODEASSIST_LRU_HISTORY= "content_assist_lru_history"; //$NON-NLS-1$
3753 
3754 	/**
3755 	 * A named preference that stores the content assist sorter id.
3756 	 * <p>
3757 	 * Value is a {@link String}.
3758 	 * </p>
3759 	 *
3760 	 * @see ProposalSorterRegistry
3761 	 * @since 3.2
3762 	 */
3763 	public static final String CODEASSIST_SORTER= "content_assist_sorter"; //$NON-NLS-1$
3764 
3765 	/**
3766 	 * A named preference that holds the source hover background color.
3767 	 * <p>
3768 	 * Value is of type <code>String</code>. A RGB color value encoded as a string
3769 	 * using class <code>PreferenceConverter</code>
3770 	 * </p>
3771 	 *
3772 	 * @see org.eclipse.jface.resource.StringConverter
3773 	 * @see org.eclipse.jface.preference.PreferenceConverter
3774 	 * @since 3.3
3775 	 */
3776 	public final static String EDITOR_SOURCE_HOVER_BACKGROUND_COLOR= "sourceHoverBackgroundColor"; //$NON-NLS-1$
3777 
3778 	/**
3779 	 * A named preference that tells whether to use the system
3780 	 * default color ({@link SWT#COLOR_INFO_BACKGROUND}) for
3781 	 * the source hover background color.
3782 	 * <p>
3783 	 * Value is of type <code>Boolean</code>.
3784 	 * </p>
3785 	 *
3786 	 * @see org.eclipse.jface.resource.StringConverter
3787 	 * @see org.eclipse.jface.preference.PreferenceConverter
3788 	 * @since 3.3
3789 	 */
3790 	public final static String EDITOR_SOURCE_HOVER_BACKGROUND_COLOR_SYSTEM_DEFAULT= "sourceHoverBackgroundColor.SystemDefault"; //$NON-NLS-1$
3791 
3792 
3793 	/**
3794 	 * A named preference that tells whether to use different icons
3795 	 * for source folders marked to contain test code and classpath entries
3796 	 * visible only for test sources.
3797 	 * <p>
3798 	 * Value is of type <code>Boolean</code>.
3799 	 * </p>
3800 	 *
3801 	 * @see org.eclipse.jface.resource.StringConverter
3802 	 * @see org.eclipse.jface.preference.PreferenceConverter
3803 	 * @since 3.14
3804 	 */
3805 	public final static String DECORATE_TEST_CODE_CONTAINER_ICONS= "decorateTestCodeContainerIcons"; //$NON-NLS-1$
3806 
3807 	/**
3808 	 * A named preference that controls whether codemining is enabled in the Java editor.
3809 	 * <p>
3810 	 * Value is of type <code>Boolean</code>.
3811 	 * </p>
3812 	 *
3813 	 * @since 3.16
3814 	 */
3815 	public static final String EDITOR_CODEMINING_ENABLED= "editor_codemining_enabled"; //$NON-NLS-1$
3816 
3817 	/**
3818 	 * A named preference that stores the value for "Only if there is at least one result".
3819 	 * <p>
3820 	 * Value is of type <code>Boolean</code>.
3821 	 * </p>
3822 	 *
3823 	 * @since 3.16
3824 	 */
3825 	public static final String EDITOR_JAVA_CODEMINING_SHOW_CODEMINING_AT_LEAST_ONE = "java.codemining.atLeastOne"; //$NON-NLS-1$
3826 
3827 	/**
3828 	 * A named preference that stores the value for "Show references" codemining.
3829 	 * <p>
3830 	 * Value is of type <code>Boolean</code>.
3831 	 * </p>
3832 	 *
3833 	 * @since 3.16
3834 	 */
3835 	public static final String EDITOR_JAVA_CODEMINING_SHOW_REFERENCES = "java.codemining.references"; //$NON-NLS-1$
3836 
3837 	/**
3838 	 * A named preference that stores the value for "Show references" on types.
3839 	 * <p>
3840 	 * Value is of type <code>Boolean</code>.
3841 	 * </p>
3842 	 *
3843 	 * @since 3.16
3844 	 */
3845 	public static final String EDITOR_JAVA_CODEMINING_SHOW_REFERENCES_ON_TYPES= "java.codemining.references.onTypes"; //$NON-NLS-1$
3846 
3847 	/**
3848 	 * A named preference that stores the value for "Show references" on fields.
3849 	 * <p>
3850 	 * Value is of type <code>Boolean</code>.
3851 	 * </p>
3852 	 *
3853 	 * @since 3.16
3854 	 */
3855 	public static final String EDITOR_JAVA_CODEMINING_SHOW_REFERENCES_ON_FIELDS= "java.codemining.references.onFields"; //$NON-NLS-1$
3856 
3857 	/**
3858 	 * A named preference that stores the value for "Show references" on methods.
3859 	 * <p>
3860 	 * Value is of type <code>Boolean</code>.
3861 	 * </p>
3862 	 *
3863 	 * @since 3.16
3864 	 */
3865 	public static final String EDITOR_JAVA_CODEMINING_SHOW_REFERENCES_ON_METHODS= "java.codemining.references.onMethods"; //$NON-NLS-1$
3866 
3867 	/**
3868 	 * A named preference that stores the value for "Show implementations"
3869 	 * codemining.
3870 	 * <p>
3871 	 * Value is of type <code>Boolean</code>.
3872 	 * </p>
3873 	 *
3874 	 * @since 3.16
3875 	 */
3876 	public static final String EDITOR_JAVA_CODEMINING_SHOW_IMPLEMENTATIONS = "java.codemining.implementations"; //$NON-NLS-1$
3877 
3878 	/**
3879 	 * A named preference that stores the value for "Show parameter names"
3880 	 * codemining.
3881 	 * <p>
3882 	 * Value is of type <code>Boolean</code>.
3883 	 * </p>
3884 	 *
3885 	 * @since 3.18
3886 	 */
3887 	public static final String EDITOR_JAVA_CODEMINING_SHOW_PARAMETER_NAMES = "java.codemining.parameterNames"; //$NON-NLS-1$
3888 
3889 	/**
3890 	 * A named preference that stores the maximum number of chain completions
3891 	 * to be proposed at one time.
3892 	 * <p>
3893 	 * Value is of type <code>Integer</code>
3894 	 * </p>
3895 	 *
3896 	 * @since 3.18
3897 	 */
3898 	public static final String PREF_MAX_CHAINS = "recommenders.chain.max_chains"; //$NON-NLS-1$
3899 
3900     /**
3901      * A named preference that stores the minimum number of chain sequences
3902      * for a given completion.
3903      * <p>
3904      * Value is of type <code>Integer</code>
3905      * </p>
3906      *
3907 	 * @since 3.18
3908 	 */
3909 
3910     public static final String PREF_MIN_CHAIN_LENGTH = "recommenders.chain.min_chain_length"; //$NON-NLS-1$
3911     /**
3912      * A named preference that stores the maximum number of chain sequences
3913      * for a given completion.
3914      * <p>
3915      * Value is of type <code>Integer</code>
3916      * </p>
3917      *
3918      * @since 3.18
3919      */
3920     public static final String PREF_MAX_CHAIN_LENGTH = "recommenders.chain.max_chain_length"; //$NON-NLS-1$
3921 
3922     /**
3923      * A named preference that stores the amount of time (in seconds) to
3924      * allow for chain completion processing. The chain completion processor
3925      * timeout value.
3926      * <p>
3927      * Value is of type <code>Integer</code>
3928      * </p>
3929      *
3930 	 * @since 3.18
3931 	 */
3932     public static final String PREF_CHAIN_TIMEOUT = "recommenders.chain.timeout"; //$NON-NLS-1$
3933 
3934     /**
3935 	 * A named preference that stores a '|' separated list of types to exclude
3936 	 * from chain completion processing.
3937 	 * <p>
3938 	 * Value is of type <code>String</code>
3939 	 * </p>
3940 	 *
3941 	 * @since 3.18
3942 	 */
3943     public static final String PREF_CHAIN_IGNORED_TYPES = "recommenders.chain.ignore_types"; //$NON-NLS-1$
3944 
3945 	/**
3946 	 * Initializes the given preference store with the default values.
3947 	 *
3948 	 * @param store the preference store to be initialized
3949 	 *
3950 	 * @since 2.1
3951 	 */
initializeDefaultValues(IPreferenceStore store)3952 	public static void initializeDefaultValues(IPreferenceStore store) {
3953 
3954 		store.setDefault(PreferenceConstants.EDITOR_SHOW_SEGMENTS, false);
3955 
3956 		// JavaBasePreferencePage
3957 		store.setDefault(PreferenceConstants.OPEN_TYPE_HIERARCHY, PreferenceConstants.OPEN_TYPE_HIERARCHY_IN_VIEW_PART);
3958 		store.setDefault(PreferenceConstants.DOUBLE_CLICK, PreferenceConstants.DOUBLE_CLICK_EXPANDS);
3959 		store.setDefault(PreferenceConstants.UPDATE_JAVA_VIEWS, PreferenceConstants.UPDATE_WHILE_EDITING);
3960 		store.setToDefault(PreferenceConstants.UPDATE_JAVA_VIEWS); // clear preference, update on save not supported anymore
3961 
3962 		store.setDefault(PreferenceConstants.LINK_BROWSING_PROJECTS_TO_EDITOR, true);
3963 		store.setDefault(PreferenceConstants.LINK_BROWSING_PACKAGES_TO_EDITOR, true);
3964 		store.setDefault(PreferenceConstants.LINK_BROWSING_TYPES_TO_EDITOR, true);
3965 		store.setDefault(PreferenceConstants.LINK_BROWSING_MEMBERS_TO_EDITOR, true);
3966 
3967 		store.setDefault(PreferenceConstants.SEARCH_USE_REDUCED_MENU, true);
3968 
3969 		// AppearancePreferencePage
3970 		store.setDefault(PreferenceConstants.APPEARANCE_COMPRESS_PACKAGE_NAMES, false);
3971 		store.setDefault(PreferenceConstants.APPEARANCE_METHOD_RETURNTYPE, true);
3972 		store.setDefault(PreferenceConstants.APPEARANCE_METHOD_TYPEPARAMETERS, true);
3973 		store.setDefault(PreferenceConstants.APPEARANCE_CATEGORY, true);
3974 		store.setDefault(PreferenceConstants.SHOW_CU_CHILDREN, true);
3975 		store.setDefault(PreferenceConstants.BROWSING_STACK_VERTICALLY, false);
3976 		store.setDefault(PreferenceConstants.APPEARANCE_PKG_NAME_PATTERN_FOR_PKG_VIEW, ""); //$NON-NLS-1$
3977 		store.setDefault(PreferenceConstants.APPEARANCE_FOLD_PACKAGES_IN_PACKAGE_EXPLORER, true);
3978 		store.setDefault(PreferenceConstants.APPEARANCE_ABBREVIATE_PACKAGE_NAMES, false);
3979 		store.setDefault(PreferenceConstants.APPEARANCE_PKG_NAME_ABBREVIATION_PATTERN_FOR_PKG_VIEW, ""); //$NON-NLS-1$
3980 
3981 		// ImportOrganizePreferencePage
3982 		store.setDefault(PreferenceConstants.ORGIMPORTS_IMPORTORDER, "java;javax;org;com"); //$NON-NLS-1$
3983 		store.setDefault(PreferenceConstants.ORGIMPORTS_ONDEMANDTHRESHOLD, 99);
3984 		store.setDefault(PreferenceConstants.ORGIMPORTS_STATIC_ONDEMANDTHRESHOLD, 99);
3985 		store.setDefault(PreferenceConstants.ORGIMPORTS_IGNORELOWERCASE, true);
3986 
3987 		// TypeFilterPreferencePage
3988 		store.setDefault(PreferenceConstants.TYPEFILTER_ENABLED, ""); //$NON-NLS-1$
3989 		store.setDefault(PreferenceConstants.TYPEFILTER_DISABLED, ""); //$NON-NLS-1$
3990 
3991 		// ClasspathVariablesPreferencePage
3992 		// CodeFormatterPreferencePage
3993 		// CompilerPreferencePage
3994 		// no initialization needed
3995 
3996 		// RefactoringPreferencePage
3997 		store.setDefault(PreferenceConstants.REFACTOR_ERROR_PAGE_SEVERITY_THRESHOLD, PreferenceConstants.REFACTOR_WARNING_SEVERITY);
3998 		store.setDefault(PreferenceConstants.REFACTOR_SAVE_ALL_EDITORS, false);
3999 		store.setDefault(PreferenceConstants.REFACTOR_LIGHTWEIGHT, true);
4000 
4001 		// TemplatePreferencePage
4002 		store.setDefault(PreferenceConstants.TEMPLATES_USE_CODEFORMATTER, true);
4003 
4004 		// CodeGenerationPreferencePage
4005 		// compatibility code
4006 		if (store.getBoolean(PreferenceConstants.CODEGEN_USE_GETTERSETTER_PREFIX)) {
4007 			String prefix= store.getString(PreferenceConstants.CODEGEN_GETTERSETTER_PREFIX);
4008 			if (prefix.length() > 0) {
4009 				InstanceScope.INSTANCE.getNode(JavaCore.PLUGIN_ID).put(JavaCore.CODEASSIST_FIELD_PREFIXES, prefix);
4010 				store.setToDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_PREFIX);
4011 				store.setToDefault(PreferenceConstants.CODEGEN_GETTERSETTER_PREFIX);
4012 			}
4013 		}
4014 		if (store.getBoolean(PreferenceConstants.CODEGEN_USE_GETTERSETTER_SUFFIX)) {
4015 			String suffix= store.getString(PreferenceConstants.CODEGEN_GETTERSETTER_SUFFIX);
4016 			if (suffix.length() > 0) {
4017 				InstanceScope.INSTANCE.getNode(JavaCore.PLUGIN_ID).put(JavaCore.CODEASSIST_FIELD_SUFFIXES, suffix);
4018 				store.setToDefault(PreferenceConstants.CODEGEN_USE_GETTERSETTER_SUFFIX);
4019 				store.setToDefault(PreferenceConstants.CODEGEN_GETTERSETTER_SUFFIX);
4020 			}
4021 		}
4022 		store.setDefault(PreferenceConstants.CODEGEN_KEYWORD_THIS, false);
4023 		store.setDefault(PreferenceConstants.CODEGEN_IS_FOR_GETTERS, true);
4024 		store.setDefault(PreferenceConstants.CODEGEN_EXCEPTION_VAR_NAME, "e"); //$NON-NLS-1$
4025 		store.setDefault(PreferenceConstants.CODEGEN_ADD_COMMENTS, false);
4026 		store.setDefault(PreferenceConstants.CODEGEN_USE_OVERRIDE_ANNOTATION, true);
4027 
4028 		// MembersOrderPreferencePage
4029 		store.setDefault(PreferenceConstants.APPEARANCE_MEMBER_SORT_ORDER, "T,SF,SI,SM,F,I,C,M"); //$NON-NLS-1$
4030 		store.setDefault(PreferenceConstants.APPEARANCE_VISIBILITY_SORT_ORDER, "B,V,R,D"); //$NON-NLS-1$
4031 		store.setDefault(PreferenceConstants.APPEARANCE_ENABLE_VISIBILITY_SORT_ORDER, false);
4032 
4033 		// JavaEditorPreferencePage
4034 		store.setDefault(PreferenceConstants.EDITOR_MATCHING_BRACKETS, true);
4035 		store.setDefault(PreferenceConstants.EDITOR_HIGHLIGHT_BRACKET_AT_CARET_LOCATION, false);
4036 		store.setDefault(PreferenceConstants.EDITOR_ENCLOSING_BRACKETS, false);
4037 
4038 		store.setDefault(PreferenceConstants.EDITOR_CORRECTION_INDICATION, true);
4039 		store.setDefault(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, true);
4040 
4041 		store.setDefault(PreferenceConstants.EDITOR_EVALUTE_TEMPORARY_PROBLEMS, true);
4042 
4043 		PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_LINKED_POSITION_COLOR, new RGB(121, 121, 121));
4044 
4045 		store.setDefault(PreferenceConstants.EDITOR_TAB_WIDTH, 4);
4046 		store.setDefault(PreferenceConstants.EDITOR_SPACES_FOR_TABS, false);
4047 
4048 
4049 		store.setDefault(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_BOLD, false);
4050 		store.setDefault(PreferenceConstants.EDITOR_MULTI_LINE_COMMENT_ITALIC, false);
4051 
4052 
4053 		store.setDefault(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_BOLD, false);
4054 		store.setDefault(PreferenceConstants.EDITOR_SINGLE_LINE_COMMENT_ITALIC, false);
4055 
4056 		store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_BOLD, true);
4057 		store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_ITALIC, false);
4058 
4059 		PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_ANNOTATION_COLOR, new RGB(100, 100, 100));
4060 		store.setDefault(PreferenceConstants.EDITOR_JAVA_ANNOTATION_BOLD, false);
4061 		store.setDefault(PreferenceConstants.EDITOR_JAVA_ANNOTATION_ITALIC, false);
4062 
4063 
4064 		store.setDefault(PreferenceConstants.EDITOR_STRING_BOLD, false);
4065 		store.setDefault(PreferenceConstants.EDITOR_STRING_ITALIC, false);
4066 
4067 		store.setDefault(PreferenceConstants.EDITOR_JAVA_DEFAULT_BOLD, false);
4068 		store.setDefault(PreferenceConstants.EDITOR_JAVA_DEFAULT_ITALIC, false);
4069 
4070 		PreferenceConverter.setDefault(store, PreferenceConstants.EDITOR_JAVA_METHOD_NAME_COLOR, new RGB(0, 0, 0));
4071 		store.setDefault(PreferenceConstants.EDITOR_JAVA_METHOD_NAME_BOLD, false);
4072 		store.setDefault(PreferenceConstants.EDITOR_JAVA_METHOD_NAME_ITALIC, false);
4073 
4074 		store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_RETURN_BOLD, true);
4075 		store.setDefault(PreferenceConstants.EDITOR_JAVA_KEYWORD_RETURN_ITALIC, false);
4076 
4077 		store.setDefault(PreferenceConstants.EDITOR_JAVA_OPERATOR_BOLD, false);
4078 		store.setDefault(PreferenceConstants.EDITOR_JAVA_OPERATOR_ITALIC, false);
4079 
4080 		store.setDefault(PreferenceConstants.EDITOR_JAVA_BRACKET_BOLD, false);
4081 		store.setDefault(PreferenceConstants.EDITOR_JAVA_BRACKET_ITALIC, false);
4082 
4083 		store.setDefault(PreferenceConstants.EDITOR_TASK_TAG_BOLD, true);
4084 		store.setDefault(PreferenceConstants.EDITOR_TASK_TAG_ITALIC, false);
4085 
4086 		store.setDefault(PreferenceConstants.EDITOR_JAVADOC_KEYWORD_BOLD, true);
4087 		store.setDefault(PreferenceConstants.EDITOR_JAVADOC_KEYWORD_ITALIC, false);
4088 
4089 		store.setDefault(PreferenceConstants.EDITOR_JAVADOC_TAG_BOLD, false);
4090 		store.setDefault(PreferenceConstants.EDITOR_JAVADOC_TAG_ITALIC, false);
4091 
4092 		store.setDefault(PreferenceConstants.EDITOR_JAVADOC_LINKS_BOLD, false);
4093 		store.setDefault(PreferenceConstants.EDITOR_JAVADOC_LINKS_ITALIC, false);
4094 
4095 		store.setDefault(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_BOLD, false);
4096 		store.setDefault(PreferenceConstants.EDITOR_JAVADOC_DEFAULT_ITALIC, false);
4097 
4098 		store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION, true);
4099 		store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_DELAY, 0);
4100 		store.setDefault(PreferenceConstants.CODEASSIST_AUTOINSERT, true);
4101 		store.setDefault(PreferenceConstants.CODEASSIST_DISABLE_COMPLETION_PROPOSAL_TRIGGER_CHARS, false);
4102 		store.setDefault(PreferenceConstants.CODEASSIST_NONUITHREAD_COMPUTATION, true);
4103 		store.setDefault(PreferenceConstants.PREF_MIN_CHAIN_LENGTH, 2);
4104 		store.setDefault(PreferenceConstants.PREF_MAX_CHAIN_LENGTH, 4);
4105 		store.setDefault(PreferenceConstants.PREF_MAX_CHAINS, 20);
4106 		store.setDefault(PreferenceConstants.PREF_CHAIN_TIMEOUT, 1);
4107 		store.setDefault(PreferenceConstants.PREF_CHAIN_IGNORED_TYPES, "java.lang.Object"); //$NON-NLS-1$
4108 
4109 		// Set the value for the deprecated color constants
4110 		initializeDeprecatedColorConstants(store);
4111 
4112 		store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVA, "."); //$NON-NLS-1$
4113 		store.setDefault(PreferenceConstants.CODEASSIST_AUTOACTIVATION_TRIGGERS_JAVADOC, "@#"); //$NON-NLS-1$
4114 		store.setDefault(PreferenceConstants.CODEASSIST_SHOW_VISIBLE_PROPOSALS, true);
4115 		store.setDefault(PreferenceConstants.CODEASSIST_CASE_SENSITIVITY, false);
4116 		store.setDefault(PreferenceConstants.CODEASSIST_ADDIMPORT, true);
4117 		store.setDefault(PreferenceConstants.CODEASSIST_INSERT_COMPLETION, true);
4118 		store.setDefault(PreferenceConstants.CODEASSIST_FILL_ARGUMENT_NAMES, true);
4119 		store.setDefault(PreferenceConstants.CODEASSIST_GUESS_METHOD_ARGUMENTS, false);
4120 		store.setDefault(PreferenceConstants.CODEASSIST_PREFIX_COMPLETION, false);
4121 
4122 		// Be sure to add the newly introduced disabled categories to JavaPlugin.disableNewCodeAssistCategoryPreferences()
4123 		store.setDefault(PreferenceConstants.CODEASSIST_EXCLUDED_CATEGORIES, "org.eclipse.jdt.ui.textProposalCategory\0org.eclipse.jdt.ui.javaTypeProposalCategory\0org.eclipse.jdt.ui.javaNoTypeProposalCategory\0org.eclipse.jdt.ui.javaChainProposalCategory\0org.eclipse.jdt.ui.javaPostfixProposalCategory\0"); //$NON-NLS-1$
4124 		store.setDefault(PreferenceConstants.CODEASSIST_CATEGORY_ORDER, "org.eclipse.jdt.ui.javaPostfixProposalCategory:65547\0org.eclipse.jdt.ui.spellingProposalCategory:65545\0org.eclipse.jdt.ui.javaTypeProposalCategory:65540\0org.eclipse.jdt.ui.javaNoTypeProposalCategory:65539\0org.eclipse.jdt.ui.textProposalCategory:65541\0org.eclipse.jdt.ui.javaAllProposalCategory:65542\0org.eclipse.jdt.ui.templateProposalCategory:2\0org.eclipse.jdt.ui.swtProposalCategory:3\0org.eclipse.jdt.ui.javaChainProposalCategory:4"); //$NON-NLS-1$
4125 
4126 		store.setDefault(PreferenceConstants.CODEASSIST_LRU_HISTORY, ""); //$NON-NLS-1$
4127 		store.setDefault(PreferenceConstants.CODEASSIST_SORTER, "org.eclipse.jdt.ui.RelevanceSorter"); //$NON-NLS-1$
4128 		store.setDefault(PreferenceConstants.CODEASSIST_FAVORITE_STATIC_MEMBERS, ""); //$NON-NLS-1$
4129 
4130 		store.setDefault(PreferenceConstants.EDITOR_SUB_WORD_NAVIGATION, true);
4131 		store.setDefault(PreferenceConstants.EDITOR_SMART_PASTE, true);
4132 		store.setDefault(PreferenceConstants.EDITOR_IMPORTS_ON_PASTE, true);
4133 		store.setDefault(PreferenceConstants.EDITOR_CLOSE_STRINGS, true);
4134 		store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACKETS, true);
4135 		store.setDefault(PreferenceConstants.EDITOR_CLOSE_BRACES, true);
4136 		store.setDefault(PreferenceConstants.EDITOR_CLOSE_JAVADOCS, true);
4137 		store.setDefault(PreferenceConstants.EDITOR_SMART_OPENING_BRACE, true);
4138 		store.setDefault(PreferenceConstants.EDITOR_WRAP_STRINGS, true);
4139 		store.setDefault(PreferenceConstants.EDITOR_ESCAPE_STRINGS, true);
4140 		store.setDefault(PreferenceConstants.EDITOR_ESCAPE_STRINGS_NON_ASCII, false);
4141 		store.setDefault(PreferenceConstants.EDITOR_ADD_JAVADOC_TAGS, true);
4142 		store.setDefault(PreferenceConstants.EDITOR_FORMAT_JAVADOCS, false);
4143 		store.setDefault(PreferenceConstants.EDITOR_SMART_INDENT_AFTER_NEWLINE, true);
4144 
4145 		int sourceHoverModifier= SWT.MOD2;
4146 		String sourceHoverModifierName= Action.findModifierString(sourceHoverModifier);	// Shift
4147 		int nlsHoverModifier= SWT.MOD1 + SWT.MOD3;
4148 		String nlsHoverModifierName= Action.findModifierString(SWT.MOD1) + "+" + Action.findModifierString(SWT.MOD3);	// Ctrl + Alt //$NON-NLS-1$
4149 		int javadocHoverModifier= SWT.MOD1 + SWT.MOD2;
4150 		String javadocHoverModifierName= Action.findModifierString(SWT.MOD1) + "+" + Action.findModifierString(SWT.MOD2); // Ctrl + Shift //$NON-NLS-1$
4151 		store.setDefault(PreferenceConstants.EDITOR_TEXT_HOVER_MODIFIERS, "org.eclipse.jdt.ui.BestMatchHover;0;org.eclipse.jdt.ui.JavaSourceHover;" + sourceHoverModifierName + ";org.eclipse.jdt.ui.NLSStringHover;" + nlsHoverModifierName + ";org.eclipse.jdt.ui.JavadocHover;" + javadocHoverModifierName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
4152 		store.setDefault(PreferenceConstants.EDITOR_TEXT_HOVER_MODIFIER_MASKS, "org.eclipse.jdt.ui.BestMatchHover;0;org.eclipse.jdt.ui.JavaSourceHover;" + sourceHoverModifier + ";org.eclipse.jdt.ui.NLSStringHover;" + nlsHoverModifier + ";org.eclipse.jdt.ui.JavadocHover;" + javadocHoverModifier); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
4153 
4154 		store.setDefault(PreferenceConstants.EDITOR_SMART_TAB, true);
4155 		store.setDefault(PreferenceConstants.EDITOR_SMART_BACKSPACE, true);
4156 		store.setDefault(PreferenceConstants.EDITOR_ANNOTATION_ROLL_OVER, false);
4157 
4158 		store.setDefault(EDITOR_SOURCE_HOVER_BACKGROUND_COLOR_SYSTEM_DEFAULT, true);
4159 
4160 		store.setDefault(PreferenceConstants.DECORATE_TEST_CODE_CONTAINER_ICONS, true);
4161 
4162 		store.setDefault(PreferenceConstants.FORMATTER_PROFILE, FormatterProfileManager.DEFAULT_PROFILE);
4163 
4164 		// mark occurrences
4165 		store.setDefault(PreferenceConstants.EDITOR_MARK_OCCURRENCES, true);
4166 		store.setDefault(PreferenceConstants.EDITOR_STICKY_OCCURRENCES, true);
4167 		store.setDefault(PreferenceConstants.EDITOR_MARK_TYPE_OCCURRENCES, true);
4168 		store.setDefault(PreferenceConstants.EDITOR_MARK_METHOD_OCCURRENCES, true);
4169 		store.setDefault(PreferenceConstants.EDITOR_MARK_CONSTANT_OCCURRENCES, true);
4170 		store.setDefault(PreferenceConstants.EDITOR_MARK_FIELD_OCCURRENCES, true);
4171 		store.setDefault(PreferenceConstants.EDITOR_MARK_LOCAL_VARIABLE_OCCURRENCES, true);
4172 		store.setDefault(PreferenceConstants.EDITOR_MARK_EXCEPTION_OCCURRENCES, true);
4173 		store.setDefault(PreferenceConstants.EDITOR_MARK_METHOD_EXIT_POINTS, true);
4174 		store.setDefault(PreferenceConstants.EDITOR_MARK_BREAK_CONTINUE_TARGETS, true);
4175 		store.setDefault(PreferenceConstants.EDITOR_MARK_IMPLEMENTORS, true);
4176 
4177 
4178 		// spell checking
4179 		store.setDefault(PreferenceConstants.SPELLING_LOCALE, "en_US"); //$NON-NLS-1$
4180 		String isInitializedKey= "spelling_locale_initialized"; //$NON-NLS-1$
4181 		if (!store.getBoolean(isInitializedKey)) {
4182 			store.setValue(isInitializedKey, true);
4183 			Locale locale= SpellCheckEngine.getDefaultLocale();
4184 			locale= SpellCheckEngine.findClosestLocale(locale);
4185 			if (locale != null) {
4186 				store.setValue(PreferenceConstants.SPELLING_LOCALE, locale.toString());
4187 			}
4188 		}
4189 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_DIGITS, true);
4190 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_MIXED, true);
4191 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_SENTENCE, true);
4192 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_UPPER, true);
4193 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_URLS, true);
4194 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_SINGLE_LETTERS, true);
4195 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_AMPERSAND_IN_PROPERTIES, true);
4196 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_NON_LETTERS, true);
4197 		store.setDefault(PreferenceConstants.SPELLING_IGNORE_JAVA_STRINGS, true);
4198 		store.setDefault(PreferenceConstants.SPELLING_USER_DICTIONARY, ""); //$NON-NLS-1$
4199 
4200 		// Note: For backwards compatibility we must use the property and not the workspace default
4201 		store.setDefault(PreferenceConstants.SPELLING_USER_DICTIONARY_ENCODING, System.getProperty("file.encoding")); //$NON-NLS-1$
4202 
4203 		store.setDefault(PreferenceConstants.SPELLING_PROPOSAL_THRESHOLD, 20);
4204 		store.setDefault(PreferenceConstants.SPELLING_PROBLEMS_THRESHOLD, 1000);
4205 		/*
4206 		 * XXX: This is currently disabled because the spelling engine
4207 		 * cannot return word proposals but only correction proposals.
4208 		 */
4209 		store.setToDefault(PreferenceConstants.SPELLING_ENABLE_CONTENTASSIST);
4210 
4211 
4212 		// folding
4213 		store.setDefault(PreferenceConstants.EDITOR_FOLDING_ENABLED, true);
4214 		store.setDefault(PreferenceConstants.EDITOR_FOLDING_PROVIDER, "org.eclipse.jdt.ui.text.defaultFoldingProvider"); //$NON-NLS-1$
4215 		store.setDefault(PreferenceConstants.EDITOR_FOLDING_JAVADOC, false);
4216 		store.setDefault(PreferenceConstants.EDITOR_FOLDING_INNERTYPES, false);
4217 		store.setDefault(PreferenceConstants.EDITOR_FOLDING_METHODS, false);
4218 		store.setDefault(PreferenceConstants.EDITOR_FOLDING_IMPORTS, true);
4219 		store.setDefault(PreferenceConstants.EDITOR_FOLDING_HEADERS, true);
4220 
4221 		// properties file editor
4222 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_KEY_BOLD, false);
4223 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_KEY_ITALIC, false);
4224 
4225 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_VALUE_BOLD, false);
4226 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_VALUE_ITALIC, false);
4227 
4228 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_ASSIGNMENT_BOLD, false);
4229 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_ASSIGNMENT_ITALIC, false);
4230 
4231 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_ARGUMENT_BOLD, true);
4232 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_ARGUMENT_ITALIC, false);
4233 
4234 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_COMMENT_BOLD, false);
4235 		store.setDefault(PreferenceConstants.PROPERTIES_FILE_COLORING_COMMENT_ITALIC, false);
4236 
4237 		// semantic highlighting
4238 		SemanticHighlightings.initDefaults(store);
4239 
4240 		// do more complicated stuff
4241 		NewJavaProjectPreferencePage.initDefaults(store);
4242 
4243 		// reset preferences that are not settable by editor any longer
4244 		// see AbstractDecoratedTextEditorPreferenceConstants
4245 		store.setToDefault(EDITOR_SMART_HOME_END); // global
4246 		store.setToDefault(EDITOR_LINE_NUMBER_RULER); // global
4247 		store.setToDefault(EDITOR_LINE_NUMBER_RULER_COLOR); // global
4248 		store.setToDefault(EDITOR_OVERVIEW_RULER); // removed -> true
4249 		store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_USE_CUSTOM_CARETS); // accessibility
4250 
4251 		store.setToDefault(PreferenceConstants.EDITOR_CURRENT_LINE); // global
4252 		store.setToDefault(PreferenceConstants.EDITOR_CURRENT_LINE_COLOR); // global
4253 
4254 		store.setToDefault(PreferenceConstants.EDITOR_PRINT_MARGIN); // global
4255 		store.setToDefault(PreferenceConstants.EDITOR_PRINT_MARGIN_COLUMN); // global
4256 		store.setToDefault(PreferenceConstants.EDITOR_PRINT_MARGIN_COLOR); // global
4257 
4258 		store.setToDefault(PreferenceConstants.EDITOR_FOREGROUND_COLOR); // global
4259 		store.setToDefault(PreferenceConstants.EDITOR_FOREGROUND_DEFAULT_COLOR); // global
4260 		store.setToDefault(PreferenceConstants.EDITOR_BACKGROUND_COLOR); // global
4261 		store.setToDefault(PreferenceConstants.EDITOR_BACKGROUND_DEFAULT_COLOR); // global
4262 		store.setToDefault(PreferenceConstants.EDITOR_FIND_SCOPE_COLOR); // global
4263 		store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_FOREGROUND_DEFAULT_COLOR); // global
4264 		store.setToDefault(AbstractDecoratedTextEditorPreferenceConstants.EDITOR_SELECTION_BACKGROUND_DEFAULT_COLOR); // global
4265 
4266 		store.setToDefault(PreferenceConstants.EDITOR_DISABLE_OVERWRITE_MODE); // global
4267 
4268 		store.setToDefault(PreferenceConstants.EDITOR_SEMANTIC_HIGHLIGHTING_ENABLED); // removed
4269 
4270 		store.setToDefault(PreferenceConstants.EDITOR_SHOW_TEXT_HOVER_AFFORDANCE); // global
4271 
4272 
4273 		//Code Clean Up
4274 		CleanUpConstantsOptions.initDefaults(store);
4275 
4276 		// Colors that are set by the current theme
4277 		JavaUIPreferenceInitializer.setThemeBasedPreferences(store, false);
4278 
4279 		store.setDefault(PREF_ANONYMOUS_EXPAND_WITH_CONSTRUCTORS, true);
4280 		store.setDefault(PREF_DEFAULT_EXPAND_WITH_CONSTRUCTORS_MEMBERS, "java.lang.Runnable.run;java.util.concurrent.Callable.call;org.eclipse.swt.widgets.Listener.handleEvent"); //$NON-NLS-1$
4281 		// compatibility code
4282 		String str= store.getString(CallHierarchyContentProvider.OLD_PREF_DEFAULT_EXPAND_WITH_CONSTRUCTORS);
4283 		if (str.length() > 0) {
4284 			String[] oldPrefStr= str.split(";"); //$NON-NLS-1$
4285 			for (int i= 0; i < oldPrefStr.length; i++) {
4286 				oldPrefStr[i]= oldPrefStr[i] + (".*"); //$NON-NLS-1$
4287 			}
4288 			store.setValue(PREF_DEFAULT_EXPAND_WITH_CONSTRUCTORS_MEMBERS, ExpandWithConstructorsConfigurationBlock.serializeMembers(Arrays.asList(oldPrefStr)));
4289 			store.setToDefault(CallHierarchyContentProvider.OLD_PREF_DEFAULT_EXPAND_WITH_CONSTRUCTORS);
4290 		}
4291 
4292 		// Code minings preferences
4293 		store.setDefault(PreferenceConstants.EDITOR_CODEMINING_ENABLED, true);
4294 		store.setDefault(EDITOR_JAVA_CODEMINING_SHOW_CODEMINING_AT_LEAST_ONE,
4295 				true);
4296 		store.setDefault(EDITOR_JAVA_CODEMINING_SHOW_REFERENCES, false);
4297 		store.setDefault(EDITOR_JAVA_CODEMINING_SHOW_REFERENCES_ON_TYPES, false);
4298 		store.setDefault(EDITOR_JAVA_CODEMINING_SHOW_REFERENCES_ON_FIELDS, false);
4299 		store.setDefault(EDITOR_JAVA_CODEMINING_SHOW_REFERENCES_ON_METHODS, false);
4300 		store.setDefault(EDITOR_JAVA_CODEMINING_SHOW_IMPLEMENTATIONS, false);
4301 		store.setDefault(EDITOR_JAVA_CODEMINING_SHOW_PARAMETER_NAMES, false);
4302 	}
4303 
4304 	/**
4305 	 * Returns the JDT-UI preference store.
4306 	 *
4307 	 * @return the JDT-UI preference store
4308 	 */
getPreferenceStore()4309 	public static IPreferenceStore getPreferenceStore() {
4310 		return JavaPlugin.getDefault().getPreferenceStore();
4311 	}
4312 
4313 	/**
4314 	 * Encodes a JRE library to be used in the named preference <code>NEWPROJECT_JRELIBRARY_LIST</code>.
4315 	 *
4316 	 * @param description a string value describing the JRE library. The description is used
4317 	 * to identify the JDR library in the UI
4318 	 * @param entries an array of classpath entries to be encoded
4319 	 *
4320 	 * @return the encoded string.
4321 	 */
encodeJRELibrary(String description, IClasspathEntry[] entries)4322 	public static String encodeJRELibrary(String description, IClasspathEntry[] entries) {
4323 		return NewJavaProjectPreferencePage.encodeJRELibrary(description, entries);
4324 	}
4325 
4326 	/**
4327 	 * Decodes an encoded JRE library and returns its description string.
4328 	 * @param encodedLibrary the encoded library
4329 	 * @return the description of an encoded JRE library
4330 	 *
4331 	 * @see #encodeJRELibrary(String, IClasspathEntry[])
4332 	 */
decodeJRELibraryDescription(String encodedLibrary)4333 	public static String decodeJRELibraryDescription(String encodedLibrary) {
4334 		return NewJavaProjectPreferencePage.decodeJRELibraryDescription(encodedLibrary);
4335 	}
4336 
4337 	/**
4338 	 * Decodes an encoded JRE library and returns its class path entries.
4339 	 * @param encodedLibrary the encoded library
4340 	 * @return the array of classpath entries of an encoded JRE library.
4341 	 *
4342 	 * @see #encodeJRELibrary(String, IClasspathEntry[])
4343 	 */
decodeJRELibraryClasspathEntries(String encodedLibrary)4344 	public static IClasspathEntry[] decodeJRELibraryClasspathEntries(String encodedLibrary) {
4345 		return NewJavaProjectPreferencePage.decodeJRELibraryClasspathEntries(encodedLibrary);
4346 	}
4347 
4348 	/**
4349 	 * Returns the current configuration for the JRE to be used as default in new Java projects.
4350 	 * This is a convenience method to access the named preference <code>NEWPROJECT_JRELIBRARY_LIST
4351 	 * </code> with the index defined by <code> NEWPROJECT_JRELIBRARY_INDEX</code>.
4352 	 *
4353 	 * @return the current default set of class path entries
4354 	 *
4355 	 * @see #NEWPROJECT_JRELIBRARY_LIST
4356 	 * @see #NEWPROJECT_JRELIBRARY_INDEX
4357 	 */
getDefaultJRELibrary()4358 	public static IClasspathEntry[] getDefaultJRELibrary() {
4359 		return NewJavaProjectPreferencePage.getDefaultJRELibrary();
4360 	}
4361 
4362 	/**
4363 	 * Returns the completion proposal categories which
4364 	 * are excluded from the default proposal list.
4365 	 *
4366 	 * @return an array with the IDs of the excluded categories
4367 	 * @see #CODEASSIST_EXCLUDED_CATEGORIES
4368 	 * @since 3.4
4369 	 */
getExcludedCompletionProposalCategories()4370 	public static String[] getExcludedCompletionProposalCategories() {
4371 		String encodedPreference= getPreference(CODEASSIST_EXCLUDED_CATEGORIES, null);
4372 		StringTokenizer tokenizer= new StringTokenizer(encodedPreference, "\0"); //$NON-NLS-1$
4373 		String[] result= new String[tokenizer.countTokens()];
4374 		for (int i= 0; i < result.length; i++) {
4375 			result[i]= tokenizer.nextToken();
4376 		}
4377 		return result;
4378 	}
4379 
4380 	/**
4381 	 * Sets the completion proposal categories which are excluded from the
4382 	 * default proposal list and reloads the registry.
4383 	 *
4384 	 * @param categories the array with the IDs of the excluded categories
4385 	 * @see #CODEASSIST_EXCLUDED_CATEGORIES
4386 	 * @since 3.4
4387 	 */
setExcludedCompletionProposalCategories(String[] categories)4388 	public static void setExcludedCompletionProposalCategories(String[] categories) {
4389 		Assert.isLegal(categories != null);
4390 		StringBuilder buf= new StringBuilder(50 * categories.length);
4391 		for (String category : categories) {
4392 			buf.append(category);
4393 			buf.append('\0');
4394 		}
4395 		getPreferenceStore().setValue(CODEASSIST_EXCLUDED_CATEGORIES, buf.toString());
4396 		CompletionProposalComputerRegistry.getDefault().reload();
4397 	}
4398 
4399 	/**
4400 	 * Returns the value for the given key in the given context.
4401 	 * @param key The preference key
4402 	 * @param project The current context or <code>null</code> if no context is available and the
4403 	 * workspace setting should be taken. Note that passing <code>null</code> should
4404 	 * be avoided.
4405 	 * @return Returns the current value for the string.
4406 	 * @since 3.1
4407 	 */
getPreference(String key, IJavaProject project)4408 	public static String getPreference(String key, IJavaProject project) {
4409 		return JavaManipulation.getPreference(key, project);
4410 	}
4411 
4412 	/**
4413 	 * This stores the given RGB value without firing
4414 	 * a property changed event.
4415 	 *
4416 	 * @param store the preference store
4417 	 * @param key the key
4418 	 * @param rgb the RGB value
4419 	 * @since 3.4
4420 	 */
setRGBValue(IPreferenceStore store, String key, RGB rgb)4421 	private static void setRGBValue(IPreferenceStore store, String key, RGB rgb) {
4422 		PreferenceConverter.setDefault(store, key, rgb);
4423 		String value= store.getString(key);
4424 		store.putValue(key, value);
4425 	}
4426 
4427 	/**
4428 	 * Initializes deprecated color constants.
4429 	 *
4430 	 * @param store the preference store
4431 	 * @since 3.6
4432 	 */
initializeDeprecatedColorConstants(IPreferenceStore store)4433 	private static void initializeDeprecatedColorConstants(IPreferenceStore store) {
4434 		RGB bgRGB= null;
4435 		RGB fgRGB= null;
4436 
4437 		// Don't fail in headless mode
4438 		if (PlatformUI.isWorkbenchRunning()) {
4439 			bgRGB= JFaceResources.getColorRegistry().getRGB(JFacePreferences.CONTENT_ASSIST_BACKGROUND_COLOR);
4440 			fgRGB= JFaceResources.getColorRegistry().getRGB(JFacePreferences.CONTENT_ASSIST_FOREGROUND_COLOR);
4441 		}
4442 
4443 		// Workaround for https://bugs.eclipse.org/306736
4444 		if (bgRGB == null) {
4445 			bgRGB= new RGB(255, 255, 255);
4446 		}
4447 		if (fgRGB == null) {
4448 			fgRGB= new RGB(0, 0, 0);
4449 		}
4450 
4451 		setRGBValue(store, PreferenceConstants.CODEASSIST_PROPOSALS_BACKGROUND, bgRGB);
4452 		setRGBValue(store, PreferenceConstants.CODEASSIST_PROPOSALS_FOREGROUND, fgRGB);
4453 
4454 	}
4455 
4456 }
4457 
4458