diff --git a/openide.loaders/apichanges.xml b/openide.loaders/apichanges.xml --- a/openide.loaders/apichanges.xml +++ b/openide.loaders/apichanges.xml @@ -109,6 +109,26 @@ + + + Introduce targetName for templates. + + + + + +

+ By default, files creates from templates have name + preinitialized to "new" + template name. + TemplateRegistration.targetName can be used to customize how + the file name will be preinitialized. +

+
+ + +
Introduces SortMode for sorting by file extension. diff --git a/openide.loaders/manifest.mf b/openide.loaders/manifest.mf --- a/openide.loaders/manifest.mf +++ b/openide.loaders/manifest.mf @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.openide.loaders -OpenIDE-Module-Specification-Version: 7.55 +OpenIDE-Module-Specification-Version: 7.56 OpenIDE-Module-Localizing-Bundle: org/openide/loaders/Bundle.properties OpenIDE-Module-Provides: org.netbeans.modules.templates.v1_0 OpenIDE-Module-Layer: org/netbeans/modules/openide/loaders/layer.xml diff --git a/openide.loaders/src/org/netbeans/api/templates/TemplateRegistration.java b/openide.loaders/src/org/netbeans/api/templates/TemplateRegistration.java --- a/openide.loaders/src/org/netbeans/api/templates/TemplateRegistration.java +++ b/openide.loaders/src/org/netbeans/api/templates/TemplateRegistration.java @@ -131,4 +131,11 @@ * @since 7.46 */ boolean requireProject() default true; + + /** + * Default (pre-filled) target name for the template, without extension. + * + * @since 7.56 + */ + String targetName() default ""; } diff --git a/openide.loaders/src/org/netbeans/modules/templates/TemplateProcessor.java b/openide.loaders/src/org/netbeans/modules/templates/TemplateProcessor.java --- a/openide.loaders/src/org/netbeans/modules/templates/TemplateProcessor.java +++ b/openide.loaders/src/org/netbeans/modules/templates/TemplateProcessor.java @@ -147,6 +147,9 @@ f.stringvalue("templateCategory", sb.toString()); } f.boolvalue("requireProject", t.requireProject()); + if (!t.targetName().trim().isEmpty()) { + f.stringvalue("targetName", t.targetName()); //NOI18N + } f.write(); }