diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/ExportableFileTemplateSettings.java')
-rw-r--r-- | platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/ExportableFileTemplateSettings.java | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/ExportableFileTemplateSettings.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/ExportableFileTemplateSettings.java index b601f0542dab..29cf1b18644a 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/ExportableFileTemplateSettings.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/ExportableFileTemplateSettings.java @@ -40,7 +40,6 @@ import java.util.Locale; )} ) public class ExportableFileTemplateSettings extends FileTemplatesLoader implements PersistentStateComponent<Element>, ExportableComponent { - public final static String EXPORTABLE_SETTINGS_FILE = "file.template.settings.xml"; static final String ELEMENT_TEMPLATE = "template"; @@ -58,7 +57,6 @@ public class ExportableFileTemplateSettings extends FileTemplatesLoader implemen return ServiceManager.getService(ExportableFileTemplateSettings.class); } - @NotNull @Override public File[] getExportFiles() { @@ -76,10 +74,9 @@ public class ExportableFileTemplateSettings extends FileTemplatesLoader implemen @Nullable @Override public Element getState() { - Element element = new Element("fileTemplateSettings"); + Element element = null; for (FTManager manager : getAllManagers()) { - final Element templatesGroup = new Element(getXmlElementGroupName(manager)); - element.addContent(templatesGroup); + Element templatesGroup = null; for (FileTemplateBase template : manager.getAllTemplates(true)) { // save only those settings that differ from defaults boolean shouldSave = template.isReformatCode() != FileTemplateBase.DEFAULT_REFORMAT_CODE_VALUE; @@ -95,6 +92,14 @@ public class ExportableFileTemplateSettings extends FileTemplatesLoader implemen if (template instanceof BundledFileTemplate) { templateElement.setAttribute(ATTRIBUTE_ENABLED, Boolean.toString(((BundledFileTemplate)template).isEnabled())); } + + if (templatesGroup == null) { + templatesGroup = new Element(getXmlElementGroupName(manager)); + if (element == null) { + element = new Element("fileTemplateSettings"); + } + element.addContent(templatesGroup); + } templatesGroup.addContent(templateElement); } } |