Search in sources :

Example 1 with CodeTemplateContextType

use of org.eclipse.jdt.internal.core.manipulation.CodeTemplateContextType in project eclipse.jdt.ls by eclipse.

the class PreferenceManager method initialize.

/**
 * Initialize default preference values of used bundles to match server
 * functionality.
 */
public static void initialize() {
    // Update JavaCore options
    initializeJavaCoreOptions();
    // Initialize default preferences
    IEclipsePreferences defEclipsePrefs = DefaultScope.INSTANCE.getNode(IConstants.PLUGIN_ID);
    defEclipsePrefs.put("org.eclipse.jdt.ui.typefilter.enabled", "");
    defEclipsePrefs.put(CodeStyleConfiguration.ORGIMPORTS_IMPORTORDER, String.join(";", Preferences.JAVA_IMPORT_ORDER_DEFAULT));
    // $NON-NLS-1$
    defEclipsePrefs.put(MembersOrderPreferenceCacheCommon.APPEARANCE_MEMBER_SORT_ORDER, "T,SF,SI,SM,F,I,C,M");
    defEclipsePrefs.put(CodeGenerationSettingsConstants.CODEGEN_USE_OVERRIDE_ANNOTATION, Boolean.TRUE.toString());
    defEclipsePrefs.put(StubUtility.CODEGEN_KEYWORD_THIS, Boolean.FALSE.toString());
    defEclipsePrefs.put(StubUtility.CODEGEN_IS_FOR_GETTERS, Boolean.TRUE.toString());
    // $NON-NLS-1$
    defEclipsePrefs.put(StubUtility.CODEGEN_EXCEPTION_VAR_NAME, "e");
    defEclipsePrefs.put(StubUtility.CODEGEN_ADD_COMMENTS, Boolean.FALSE.toString());
    ContextTypeRegistry registry = new ContextTypeRegistry();
    // Register standard context types from JDT
    CodeTemplateContextType.registerContextTypes(registry);
    // Register additional context types
    registry.addContextType(new CodeTemplateContextType(CodeTemplatePreferences.CLASSSNIPPET_CONTEXTTYPE));
    registry.addContextType(new CodeTemplateContextType(CodeTemplatePreferences.INTERFACESNIPPET_CONTEXTTYPE));
    registry.addContextType(new CodeTemplateContextType(CodeTemplatePreferences.RECORDSNIPPET_CONTEXTTYPE));
    // These should be upstreamed into CodeTemplateContextType & GlobalVariables
    TemplateContextType tmp = registry.getContextType(CodeTemplateContextType.TYPECOMMENT_CONTEXTTYPE);
    tmp.addResolver(new CodeTemplatePreferences.Month());
    tmp.addResolver(new CodeTemplatePreferences.ShortMonth());
    tmp.addResolver(new CodeTemplatePreferences.Day());
    tmp.addResolver(new CodeTemplatePreferences.Hour());
    tmp.addResolver(new CodeTemplatePreferences.Minute());
    JavaManipulation.setCodeTemplateContextRegistry(registry);
    // Initialize templates
    templates.put(CodeTemplatePreferences.CODETEMPLATE_FIELDCOMMENT, CodeGenerationTemplate.FIELDCOMMENT.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_METHODCOMMENT, CodeGenerationTemplate.METHODCOMMENT.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_CONSTRUCTORCOMMENT, CodeGenerationTemplate.CONSTRUCTORCOMMENT.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_CONSTRUCTORBODY, CodeGenerationTemplate.CONSTRUCTORBODY.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_DELEGATECOMMENT, CodeGenerationTemplate.DELEGATECOMMENT.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_OVERRIDECOMMENT, CodeGenerationTemplate.OVERRIDECOMMENT.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_TYPECOMMENT, CodeGenerationTemplate.TYPECOMMENT.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_GETTERCOMMENT, CodeGenerationTemplate.GETTERCOMMENT.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_SETTERCOMMENT, CodeGenerationTemplate.SETTERCOMMENT.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_GETTERBODY, CodeGenerationTemplate.GETTERBODY.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_SETTERBODY, CodeGenerationTemplate.SETTERBOY.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_CATCHBODY, CodeGenerationTemplate.CATCHBODY.createTemplate());
    templates.put(CodeTemplatePreferences.CODETEMPLATE_METHODBODY, CodeGenerationTemplate.METHODBODY.createTemplate());
    reloadTemplateStore();
}
Also used : CodeTemplateContextType(org.eclipse.jdt.internal.core.manipulation.CodeTemplateContextType) IEclipsePreferences(org.eclipse.core.runtime.preferences.IEclipsePreferences) ContextTypeRegistry(org.eclipse.text.templates.ContextTypeRegistry) TemplateContextType(org.eclipse.jface.text.templates.TemplateContextType) CodeTemplateContextType(org.eclipse.jdt.internal.core.manipulation.CodeTemplateContextType)

Aggregations

IEclipsePreferences (org.eclipse.core.runtime.preferences.IEclipsePreferences)1 CodeTemplateContextType (org.eclipse.jdt.internal.core.manipulation.CodeTemplateContextType)1 TemplateContextType (org.eclipse.jface.text.templates.TemplateContextType)1 ContextTypeRegistry (org.eclipse.text.templates.ContextTypeRegistry)1