From c506e4fa5c6ac2382b95f98c3d53db2b08058397 Mon Sep 17 00:00:00 2001 From: UNV Date: Tue, 31 Mar 2026 22:42:10 +0300 Subject: [PATCH] Localizing Path Macros. Refactoring. --- .../impl/ide/macro/ClasspathEntryMacro.java | 40 ++++++---- .../java/impl/ide/macro/ClasspathMacro.java | 28 ++++--- .../java/impl/ide/macro/FileClassMacro.java | 73 ++++++++++--------- .../java/impl/ide/macro/FileFQPackage.java | 28 ++++--- .../java/impl/ide/macro/FilePackageMacro.java | 50 ++++++++----- .../java/impl/ide/macro/JavaDocPathMacro.java | 38 +++++----- 6 files changed, 149 insertions(+), 108 deletions(-) diff --git a/plugin/src/main/java/com/intellij/java/impl/ide/macro/ClasspathEntryMacro.java b/plugin/src/main/java/com/intellij/java/impl/ide/macro/ClasspathEntryMacro.java index ef8e5d9478..de1510e6c2 100644 --- a/plugin/src/main/java/com/intellij/java/impl/ide/macro/ClasspathEntryMacro.java +++ b/plugin/src/main/java/com/intellij/java/impl/ide/macro/ClasspathEntryMacro.java @@ -18,6 +18,7 @@ import consulo.annotation.component.ExtensionImpl; import consulo.dataContext.DataContext; import consulo.ide.localize.IdeLocalize; +import consulo.localize.LocalizeValue; import consulo.module.content.ProjectRootManager; import consulo.pathMacro.Macro; import consulo.project.Project; @@ -28,21 +29,30 @@ */ @ExtensionImpl public final class ClasspathEntryMacro extends Macro { - public String getName() { - return "ClasspathEntry"; - } + @Override + public String getName() { + return "ClasspathEntry"; + } - public String getDescription() { - return IdeLocalize.macroClasspathEntry().get(); - } + @Override + public LocalizeValue getDescription() { + return IdeLocalize.macroClasspathEntry(); + } - public String expand(DataContext dataContext) { - Project project = dataContext.getData(Project.KEY); - if (project == null) return null; - VirtualFile file = dataContext.getData(VirtualFile.KEY); - if (file == null) return null; - VirtualFile classRoot = ProjectRootManager.getInstance(project).getFileIndex().getClassRootForFile(file); - if (classRoot == null) return null; - return getPath(classRoot); - } + @Override + public String expand(DataContext dataContext) { + Project project = dataContext.getData(Project.KEY); + if (project == null) { + return null; + } + VirtualFile file = dataContext.getData(VirtualFile.KEY); + if (file == null) { + return null; + } + VirtualFile classRoot = ProjectRootManager.getInstance(project).getFileIndex().getClassRootForFile(file); + if (classRoot == null) { + return null; + } + return getPath(classRoot); + } } \ No newline at end of file diff --git a/plugin/src/main/java/com/intellij/java/impl/ide/macro/ClasspathMacro.java b/plugin/src/main/java/com/intellij/java/impl/ide/macro/ClasspathMacro.java index 59a0e0f55e..6fb0b20790 100644 --- a/plugin/src/main/java/com/intellij/java/impl/ide/macro/ClasspathMacro.java +++ b/plugin/src/main/java/com/intellij/java/impl/ide/macro/ClasspathMacro.java @@ -18,23 +18,29 @@ import consulo.annotation.component.ExtensionImpl; import consulo.dataContext.DataContext; import consulo.ide.localize.IdeLocalize; +import consulo.localize.LocalizeValue; import consulo.module.content.layer.OrderEnumerator; import consulo.pathMacro.Macro; import consulo.project.Project; @ExtensionImpl public final class ClasspathMacro extends Macro { - public String getName() { - return "Classpath"; - } + @Override + public String getName() { + return "Classpath"; + } - public String getDescription() { - return IdeLocalize.macroProjectClasspath().get(); - } + @Override + public LocalizeValue getDescription() { + return IdeLocalize.macroProjectClasspath(); + } - public String expand(DataContext dataContext) { - Project project = dataContext.getData(Project.KEY); - if (project == null) return null; - return OrderEnumerator.orderEntries(project).getPathsList().getPathsString(); - } + @Override + public String expand(DataContext dataContext) { + Project project = dataContext.getData(Project.KEY); + if (project == null) { + return null; + } + return OrderEnumerator.orderEntries(project).getPathsList().getPathsString(); + } } diff --git a/plugin/src/main/java/com/intellij/java/impl/ide/macro/FileClassMacro.java b/plugin/src/main/java/com/intellij/java/impl/ide/macro/FileClassMacro.java index ff8f201222..eef9af5f75 100644 --- a/plugin/src/main/java/com/intellij/java/impl/ide/macro/FileClassMacro.java +++ b/plugin/src/main/java/com/intellij/java/impl/ide/macro/FileClassMacro.java @@ -22,45 +22,50 @@ import consulo.dataContext.DataContext; import consulo.ide.localize.IdeLocalize; import consulo.language.psi.PsiFile; +import consulo.localize.LocalizeValue; import consulo.pathMacro.Macro; @ExtensionImpl public final class FileClassMacro extends Macro { - public String getName() { - return "FileClass"; - } - - public String getDescription() { - return IdeLocalize.macroClassName().get(); - } + @Override + public String getName() { + return "FileClass"; + } - @RequiredReadAction - public String expand(DataContext dataContext) { - //Project project = (Project)dataContext.getData(DataConstants.PROJECT); - //if (project == null) { - // return null; - //} - //VirtualFile file = (VirtualFile)dataContext.getData(DataConstantsEx.VIRTUAL_FILE); - //if (file == null) { - // return null; - //} - //PsiFile psiFile = PsiManager.getInstance(project).findFile(file); - //if (!(psiFile instanceof PsiJavaFile)) { - // return null; - //} - PsiFile javaFile = dataContext.getData(PsiFile.KEY); - if (!(javaFile instanceof PsiJavaFile)) return null; - PsiClass[] classes = ((PsiJavaFile) javaFile).getClasses(); - if (classes.length == 1) { - return classes[0].getQualifiedName(); + @Override + public LocalizeValue getDescription() { + return IdeLocalize.macroClassName(); } - String fileName = javaFile.getVirtualFile().getNameWithoutExtension(); - for (PsiClass aClass : classes) { - String name = aClass.getName(); - if (fileName.equals(name)) { - return aClass.getQualifiedName(); - } + + @Override + @RequiredReadAction + public String expand(DataContext dataContext) { + //Project project = (Project)dataContext.getData(DataConstants.PROJECT); + //if (project == null) { + // return null; + //} + //VirtualFile file = (VirtualFile)dataContext.getData(DataConstantsEx.VIRTUAL_FILE); + //if (file == null) { + // return null; + //} + //PsiFile psiFile = PsiManager.getInstance(project).findFile(file); + //if (!(psiFile instanceof PsiJavaFile)) { + // return null; + //} + if (!(dataContext.getData(PsiFile.KEY) instanceof PsiJavaFile javaFile)) { + return null; + } + PsiClass[] classes = javaFile.getClasses(); + if (classes.length == 1) { + return classes[0].getQualifiedName(); + } + String fileName = javaFile.getVirtualFile().getNameWithoutExtension(); + for (PsiClass aClass : classes) { + String name = aClass.getName(); + if (fileName.equals(name)) { + return aClass.getQualifiedName(); + } + } + return null; } - return null; - } } diff --git a/plugin/src/main/java/com/intellij/java/impl/ide/macro/FileFQPackage.java b/plugin/src/main/java/com/intellij/java/impl/ide/macro/FileFQPackage.java index 74fc44b6fc..122d57b550 100644 --- a/plugin/src/main/java/com/intellij/java/impl/ide/macro/FileFQPackage.java +++ b/plugin/src/main/java/com/intellij/java/impl/ide/macro/FileFQPackage.java @@ -19,21 +19,27 @@ import consulo.annotation.component.ExtensionImpl; import consulo.dataContext.DataContext; import consulo.ide.localize.IdeLocalize; +import consulo.localize.LocalizeValue; import consulo.pathMacro.Macro; @ExtensionImpl public class FileFQPackage extends Macro { - public String expand(DataContext dataContext) { - PsiJavaPackage aPackage = FilePackageMacro.getFilePackage(dataContext); - if (aPackage == null) return null; - return aPackage.getQualifiedName(); - } + @Override + public String expand(DataContext dataContext) { + PsiJavaPackage aPackage = FilePackageMacro.getFilePackage(dataContext); + if (aPackage == null) { + return null; + } + return aPackage.getQualifiedName(); + } - public String getDescription() { - return IdeLocalize.macroFileFullyQualifiedPackage().get(); - } + @Override + public LocalizeValue getDescription() { + return IdeLocalize.macroFileFullyQualifiedPackage(); + } - public String getName() { - return "FileFQPackage"; - } + @Override + public String getName() { + return "FileFQPackage"; + } } diff --git a/plugin/src/main/java/com/intellij/java/impl/ide/macro/FilePackageMacro.java b/plugin/src/main/java/com/intellij/java/impl/ide/macro/FilePackageMacro.java index 56142d8c1f..94f5b9be39 100644 --- a/plugin/src/main/java/com/intellij/java/impl/ide/macro/FilePackageMacro.java +++ b/plugin/src/main/java/com/intellij/java/impl/ide/macro/FilePackageMacro.java @@ -23,32 +23,42 @@ import consulo.ide.localize.IdeLocalize; import consulo.language.psi.PsiDirectory; import consulo.language.psi.PsiFile; +import consulo.localize.LocalizeValue; import consulo.pathMacro.Macro; import org.jspecify.annotations.Nullable; @ExtensionImpl public final class FilePackageMacro extends Macro { - public String getName() { - return "FilePackage"; - } + @Override + public String getName() { + return "FilePackage"; + } - public String getDescription() { - return IdeLocalize.macroFilePackage().get(); - } + @Override + public LocalizeValue getDescription() { + return IdeLocalize.macroFilePackage(); + } - @RequiredReadAction - public String expand(DataContext dataContext) { - PsiJavaPackage aPackage = getFilePackage(dataContext); - if (aPackage == null) return null; - return aPackage.getName(); - } + @Override + @RequiredReadAction + public String expand(DataContext dataContext) { + PsiJavaPackage aPackage = getFilePackage(dataContext); + if (aPackage == null) { + return null; + } + return aPackage.getName(); + } - @Nullable - static PsiJavaPackage getFilePackage(DataContext dataContext) { - PsiFile psiFile = dataContext.getData(PsiFile.KEY); - if (psiFile == null) return null; - PsiDirectory containingDirectory = psiFile.getContainingDirectory(); - if (containingDirectory == null || !containingDirectory.isValid()) return null; - return JavaDirectoryService.getInstance().getPackage(containingDirectory); - } + @Nullable + static PsiJavaPackage getFilePackage(DataContext dataContext) { + PsiFile psiFile = dataContext.getData(PsiFile.KEY); + if (psiFile == null) { + return null; + } + PsiDirectory containingDirectory = psiFile.getContainingDirectory(); + if (containingDirectory == null || !containingDirectory.isValid()) { + return null; + } + return JavaDirectoryService.getInstance().getPackage(containingDirectory); + } } diff --git a/plugin/src/main/java/com/intellij/java/impl/ide/macro/JavaDocPathMacro.java b/plugin/src/main/java/com/intellij/java/impl/ide/macro/JavaDocPathMacro.java index 55e574c656..9e4f935422 100644 --- a/plugin/src/main/java/com/intellij/java/impl/ide/macro/JavaDocPathMacro.java +++ b/plugin/src/main/java/com/intellij/java/impl/ide/macro/JavaDocPathMacro.java @@ -20,6 +20,7 @@ import consulo.annotation.component.ExtensionImpl; import consulo.dataContext.DataContext; import consulo.ide.localize.IdeLocalize; +import consulo.localize.LocalizeValue; import consulo.pathMacro.Macro; import consulo.project.Project; @@ -27,24 +28,27 @@ @ExtensionImpl public final class JavaDocPathMacro extends Macro { - public String getName() { - return "JavaDocPath"; - } - - public String getDescription() { - return IdeLocalize.macroJavadocOutputDirectory().get(); - } + @Override + public String getName() { + return "JavaDocPath"; + } - public String expand(DataContext dataContext) { - Project project = dataContext.getData(Project.KEY); - if (project == null) { - return null; + @Override + public LocalizeValue getDescription() { + return IdeLocalize.macroJavadocOutputDirectory(); } - JavadocGenerationManager manager = project.getComponent(JavadocGenerationManager.class); - if (manager == null) { - return null; + + @Override + public String expand(DataContext dataContext) { + Project project = dataContext.getData(Project.KEY); + if (project == null) { + return null; + } + JavadocGenerationManager manager = project.getComponent(JavadocGenerationManager.class); + if (manager == null) { + return null; + } + JavadocConfiguration configuration = manager.getConfiguration(); + return configuration.OUTPUT_DIRECTORY == null ? null : configuration.OUTPUT_DIRECTORY.replace('/', File.separatorChar); } - JavadocConfiguration configuration = manager.getConfiguration(); - return configuration.OUTPUT_DIRECTORY == null ? null : configuration.OUTPUT_DIRECTORY.replace('/', File.separatorChar); - } }