diff --git a/jdtls.ext/com.microsoft.jdtls.ext.core/plugin.xml b/jdtls.ext/com.microsoft.jdtls.ext.core/plugin.xml
index 6643c1a7..a469ec92 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.core/plugin.xml
+++ b/jdtls.ext/com.microsoft.jdtls.ext.core/plugin.xml
@@ -11,6 +11,7 @@
+
arguments, IProgress
return ProjectCommand.checkImportStatus();
case "java.project.getImportClassContent":
return ProjectCommand.getImportClassContent(arguments, monitor);
+ case "java.project.getDependencies":
+ return ProjectCommand.getProjectDependencies(arguments, monitor);
default:
break;
}
diff --git a/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/ProjectCommand.java b/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/ProjectCommand.java
index df41a432..4aa6632b 100644
--- a/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/ProjectCommand.java
+++ b/jdtls.ext/com.microsoft.jdtls.ext.core/src/com/microsoft/jdtls/ext/core/ProjectCommand.java
@@ -71,6 +71,7 @@
import com.google.gson.GsonBuilder;
import com.microsoft.jdtls.ext.core.parser.ContextResolver;
import com.microsoft.jdtls.ext.core.parser.ContextResolver.ImportClassInfo;
+import com.microsoft.jdtls.ext.core.parser.ProjectResolver;
import com.microsoft.jdtls.ext.core.model.PackageNode;
public final class ProjectCommand {
@@ -87,7 +88,15 @@ public MainClassInfo(String name, String path) {
}
}
+ private static class DependencyInfo {
+ public String key;
+ public String value;
+ public DependencyInfo(String key, String value) {
+ this.key = key;
+ this.value = value;
+ }
+ }
private static class Classpath {
public String source;
@@ -344,6 +353,7 @@ public static boolean checkImportStatus() {
/**
* Get import class content for Copilot integration.
* This method extracts information about imported classes from a Java file.
+ * Uses a time-controlled strategy: prioritizes internal classes, adds external classes only if time permits.
*
* @param arguments List containing the file URI as the first element
* @param monitor Progress monitor for cancellation support
@@ -354,6 +364,11 @@ public static List getImportClassContent(List