vscode-java-debug
vscode-java-debug copied to clipboard
Populate mainClass only from source folders
List main class from third-party jars is time-consuming and not very useful, consider to remove the logic like
int constraints = IJavaSearchScope.SOURCES;
constraints |= IJavaSearchScope.APPLICATION_LIBRARIES;
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
List<IJavaElement> ret = new ArrayList<IJavaElement>();
for(IProject proj : root.getProjects()) {
IJavaProject javaProject = JavaCore.create(proj);
try {
IPackageFragmentRoot[] packageFragmentRoot = javaProject.getPackageFragmentRoots();
for (int i = 0; i < packageFragmentRoot.length; i++) {
if (packageFragmentRoot[i].getElementType() == IJavaElement.PACKAGE_FRAGMENT_ROOT && packageFragmentRoot[i].getKind() == IPackageFragmentRoot.K_SOURCE)
ret.add(packageFragmentRoot[i]);
}
} catch (JavaModelException e) {
// ignore
}
}
IJavaSearchScope scope = SearchEngine.createJavaSearchScope(ret.toArray(new IJavaElement[0]), constraints);
https://github.com/Microsoft/java-debug/pull/228