vscode-java-debug icon indicating copy to clipboard operation
vscode-java-debug copied to clipboard

Populate mainClass only from source folders

Open andxu opened this issue 5 years ago • 1 comments

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);

andxu avatar Sep 11 '18 00:09 andxu

https://github.com/Microsoft/java-debug/pull/228

andxu avatar Sep 20 '18 02:09 andxu