allow passing live template default values when creating from file templates (WEB-25303)

This commit is contained in:
Sergey Simonchik
2017-02-07 14:18:46 +03:00
parent 23e1ac8133
commit 1c0db1f71a
@@ -33,6 +33,8 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import javax.swing.*;
import java.util.Collections;
import java.util.Map;
/**
* @author Dmitry Avdeev
@@ -53,6 +55,16 @@ public abstract class CreateFileFromTemplateAction extends CreateFromTemplateAct
@NotNull PsiDirectory dir,
@Nullable String defaultTemplateProperty,
boolean openFile) {
return createFileFromTemplate(name, template, dir, defaultTemplateProperty, openFile, Collections.emptyMap());
}
@Nullable
public static PsiFile createFileFromTemplate(@Nullable String name,
@NotNull FileTemplate template,
@NotNull PsiDirectory dir,
@Nullable String defaultTemplateProperty,
boolean openFile,
@NotNull Map<String, String> liveTemplateDefaultValues) {
if (name != null) {
CreateFileAction.MkDirs mkdirs = new CreateFileAction.MkDirs(name, dir);
name = mkdirs.newName;
@@ -69,7 +81,7 @@ public abstract class CreateFileFromTemplateAction extends CreateFromTemplateAct
if (virtualFile != null) {
if (openFile) {
if (template.isLiveTemplateEnabled()) {
CreateFromTemplateActionBase.startLiveTemplate(psiFile);
CreateFromTemplateActionBase.startLiveTemplate(psiFile, liveTemplateDefaultValues);
}
else {
FileEditorManager.getInstance(project).openFile(virtualFile, true);