From 3d70300e9157c84dc7ea4b930db1066e09888e15 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Mon, 2 Mar 2015 15:35:02 +0300 Subject: [PATCH] IDEA-137104 Code templates don't save their state --- .../DefaultFileTemplateUsageInspection.java | 2 ++ .../intellij/ide/fileTemplates/FileTemplateManager.java | 3 ++- .../ide/fileTemplates/impl/FileTemplateManagerImpl.java | 7 +++++++ .../codeInspection/i18n/JavaI18nizeQuickFixDialog.java | 1 + 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/defaultFileTemplateUsage/DefaultFileTemplateUsageInspection.java b/java/java-impl/src/com/intellij/codeInspection/defaultFileTemplateUsage/DefaultFileTemplateUsageInspection.java index 3dcc64355b83..12d7ca386c03 100644 --- a/java/java-impl/src/com/intellij/codeInspection/defaultFileTemplateUsage/DefaultFileTemplateUsageInspection.java +++ b/java/java-impl/src/com/intellij/codeInspection/defaultFileTemplateUsage/DefaultFileTemplateUsageInspection.java @@ -17,6 +17,7 @@ package com.intellij.codeInspection.defaultFileTemplateUsage; import com.intellij.codeInspection.*; import com.intellij.ide.fileTemplates.FileTemplate; +import com.intellij.ide.fileTemplates.FileTemplateManager; import com.intellij.ide.fileTemplates.impl.FileTemplateConfigurable; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.command.WriteCommandAction; @@ -107,6 +108,7 @@ public class DefaultFileTemplateUsageInspection extends BaseJavaLocalInspectionT WriteCommandAction.runWriteCommandAction(project, new Runnable() { @Override public void run() { + FileTemplateManager.getInstance(project).saveAllTemplates(); myReplaceTemplateFix.applyFix(project, descriptor); } }); diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplateManager.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplateManager.java index e1dc6ccc8c2f..d5a54eb85d25 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplateManager.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/FileTemplateManager.java @@ -145,5 +145,6 @@ public abstract class FileTemplateManager{ public abstract FileTemplate getDefaultTemplate(@NotNull @NonNls String name); public abstract void setTemplates(@NotNull String templatesCategory, @NotNull Collection templates); - + + public abstract void saveAllTemplates(); } diff --git a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java index ba20119f945a..43d75ffb9809 100644 --- a/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java +++ b/platform/lang-impl/src/com/intellij/ide/fileTemplates/impl/FileTemplateManagerImpl.java @@ -421,6 +421,13 @@ public class FileTemplateManagerImpl extends FileTemplateManager implements Pers } } + @Override + public void saveAllTemplates() { + for (FTManager manager : myAllManagers) { + manager.saveTemplates(); + } + } + public URL getDefaultTemplateDescription() { return myDefaultTemplateDescription; } diff --git a/plugins/java-i18n/src/com/intellij/codeInspection/i18n/JavaI18nizeQuickFixDialog.java b/plugins/java-i18n/src/com/intellij/codeInspection/i18n/JavaI18nizeQuickFixDialog.java index 703feddd1131..d6ce383d427f 100644 --- a/plugins/java-i18n/src/com/intellij/codeInspection/i18n/JavaI18nizeQuickFixDialog.java +++ b/plugins/java-i18n/src/com/intellij/codeInspection/i18n/JavaI18nizeQuickFixDialog.java @@ -149,6 +149,7 @@ public class JavaI18nizeQuickFixDialog extends I18nizeQuickFixDialog { }); boolean ok = ShowSettingsUtil.getInstance().editConfigurable(myPanel, configurable); if (ok) { + FileTemplateManager.getInstance(myProject).saveAllTemplates(); somethingChanged(); if (myShowJavaCodeInfo) { suggestAvailableResourceBundleExpressions();