mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
create class from user defined template (IDEA-57230;IDEA-55689 )
This commit is contained in:
@@ -17,9 +17,16 @@
|
||||
package com.intellij.ide.actions;
|
||||
|
||||
import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.ide.fileTemplates.JavaTemplateUtil;
|
||||
import com.intellij.ide.fileTemplates.*;
|
||||
import com.intellij.ide.highlighter.JavaFileType;
|
||||
import com.intellij.openapi.actionSystem.AnAction;
|
||||
import com.intellij.openapi.fileTypes.FileType;
|
||||
import com.intellij.openapi.fileTypes.FileTypes;
|
||||
import com.intellij.openapi.fileTypes.StdFileTypes;
|
||||
import com.intellij.openapi.fileTypes.ex.FileTypeManagerEx;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.LanguageLevelProjectExtension;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.pom.java.LanguageLevel;
|
||||
import com.intellij.psi.JavaDirectoryService;
|
||||
import com.intellij.psi.PsiClass;
|
||||
@@ -49,6 +56,13 @@ public class CreateClassAction extends JavaCreateTemplateInPackageAction<PsiClas
|
||||
builder.addKind("Enum", Icons.ENUM_ICON, JavaTemplateUtil.INTERNAL_ENUM_TEMPLATE_NAME);
|
||||
builder.addKind("Annotation", Icons.ANNOTATION_TYPE_ICON, JavaTemplateUtil.INTERNAL_ANNOTATION_TYPE_TEMPLATE_NAME);
|
||||
}
|
||||
|
||||
for (FileTemplate template : FileTemplateManager.getInstance().getAllTemplates()) {
|
||||
final JavaCreateFromTemplateHandler handler = new JavaCreateFromTemplateHandler();
|
||||
if (handler.handlesTemplate(template) && handler.canCreate(new PsiDirectory[]{directory})) {
|
||||
builder.addKind(template.getName(), JavaFileType.INSTANCE.getIcon(), template.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#if (${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
|
||||
#parse("File Header.java")
|
||||
public class ${Name}{
|
||||
private static ${Name} ourInstance = new ${Name}();
|
||||
public class ${NAME}{
|
||||
private static ${NAME} ourInstance = new ${NAME}();
|
||||
|
||||
public static ${Name} getInstance() {
|
||||
public static ${NAME} getInstance() {
|
||||
return ourInstance;
|
||||
}
|
||||
|
||||
private ${Name}() {
|
||||
private ${NAME}() {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user