diff --git a/platform/lang-impl/src/com/intellij/ide/actions/CreateFileFromTemplateAction.java b/platform/lang-impl/src/com/intellij/ide/actions/CreateFileFromTemplateAction.java index b92916337e1d..4b147e6eadfb 100644 --- a/platform/lang-impl/src/com/intellij/ide/actions/CreateFileFromTemplateAction.java +++ b/platform/lang-impl/src/com/intellij/ide/actions/CreateFileFromTemplateAction.java @@ -28,6 +28,8 @@ import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.util.IncorrectOperationException; import org.apache.velocity.runtime.parser.ParseException; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import javax.swing.*; @@ -41,7 +43,15 @@ public abstract class CreateFileFromTemplateAction extends CreateFromTemplateAct } protected PsiFile createFileFromTemplate(String name, FileTemplate template, PsiDirectory dir) { + return createFileFromTemplate(name, template, dir, getDefaultTemplateProperty()); + } + @SuppressWarnings("DialogTitleCapitalization") + @Nullable + public static PsiFile createFileFromTemplate(@Nullable String name, + @NotNull FileTemplate template, + @NotNull PsiDirectory dir, + @Nullable String defaultTemplateProperty) { PsiElement element; Project project = dir.getProject(); try { @@ -52,9 +62,8 @@ public abstract class CreateFileFromTemplateAction extends CreateFromTemplateAct final VirtualFile virtualFile = psiFile.getVirtualFile(); if (virtualFile != null) { FileEditorManager.getInstance(project).openFile(virtualFile, true); - String property = getDefaultTemplateProperty(); - if (property != null) { - PropertiesComponent.getInstance(project).setValue(property, template.getName()); + if (defaultTemplateProperty != null) { + PropertiesComponent.getInstance(project).setValue(defaultTemplateProperty, template.getName()); } return psiFile; } @@ -73,7 +82,6 @@ public abstract class CreateFileFromTemplateAction extends CreateFromTemplateAct return null; } - @Override protected PsiFile createFile(String name, String templateName, PsiDirectory dir) { final FileTemplate template = FileTemplateManager.getInstance().getInternalTemplate(templateName);