From de46e38d45a11b9661de7eb60802ceacbf85d038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=97=E4=B8=87=E7=A8=8B?= <1498425439@qq.com> Date: Sat, 13 Sep 2025 09:43:19 +0800 Subject: [PATCH] fix: fast excel anno and array value --- .../linwancen/plugin/show/java/doc/AnnoDocJava.java | 11 +++++++++++ .../plugin/show/settings/AbstractSettingsState.java | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/idea/io/github/linwancen/plugin/show/java/doc/AnnoDocJava.java b/src/main/idea/io/github/linwancen/plugin/show/java/doc/AnnoDocJava.java index 57c0ffa..b6cc60d 100644 --- a/src/main/idea/io/github/linwancen/plugin/show/java/doc/AnnoDocJava.java +++ b/src/main/idea/io/github/linwancen/plugin/show/java/doc/AnnoDocJava.java @@ -4,6 +4,7 @@ import com.intellij.openapi.project.Project; import com.intellij.psi.JavaPsiFacade; import com.intellij.psi.PsiAnnotation; import com.intellij.psi.PsiAnnotationMemberValue; +import com.intellij.psi.PsiArrayInitializerMemberValue; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiConstantEvaluationHelper; import com.intellij.psi.PsiDocCommentOwner; @@ -74,6 +75,16 @@ public class AnnoDocJava extends BaseAnnoDoc { } @NotNull Project project = value.getProject(); @NotNull PsiConstantEvaluationHelper helper = JavaPsiFacade.getInstance(project).getConstantEvaluationHelper(); + if (value instanceof PsiArrayInitializerMemberValue) { + PsiAnnotationMemberValue[] initializers = ((PsiArrayInitializerMemberValue) value).getInitializers(); + StringBuilder sb = new StringBuilder(); + for (PsiAnnotationMemberValue initializer : initializers) { + try { + sb.append(helper.computeConstantExpression(initializer)).append(" "); + } catch (Throwable ignored) {} + } + return sb.toString(); + } @Nullable Object o = helper.computeConstantExpression(value); if (o == null) { return null; diff --git a/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsState.java b/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsState.java index 7f46dc7..48e6858 100644 --- a/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsState.java +++ b/src/main/java/io/github/linwancen/plugin/show/settings/AbstractSettingsState.java @@ -41,7 +41,7 @@ public abstract class AbstractSettingsState { {"field", "io.swagger.annotations.ApiModelProperty", "value"}, {"field", "io.swagger.v3.oas.annotations.media.Schema", "title"}, {"field", "com.alibaba.excel.annotation.ExcelProperty", "value"}, - {"field", "com.idev.excel.annotation.ExcelProperty", "value"}, + {"field", "cn.idev.excel.annotation.ExcelProperty", "value"}, }; public boolean dirDocEffect = true;