redhat-developer / redhat-developer/vscode-java
Slow workspace initialization and reference search in large Gradle monorep
Offen
@snjeza arbeitet bereits daran.
Seit 29.12.2024.
regression
- Vorherrschende Sprache
- TypeScript
- Sterne
- 2.3k
- Forks
- 546
- Ø Merge
- 20 Std. 1 Min.
- Gemergte PRs (30 T.)
- 11
Beschreibung
Description
Each time I start VSCode, the Java Language Server re-initializes the workspace which takes a considerable amount of time. During this initialization period, I cannot:
- Navigate to object references
- See method callers/usages
- Use other indexing-dependent features
Even after indexing is complete, searching for references takes several seconds to display results, which is significantly slower compared to IntelliJ.
Project Structure
- Type: Monorepo with root project and multiple modules
- Build Tool: Gradle
Current Setup
- Extensions installed:
- Gradle for Java
- Java Language Server
What I've tried
- Setting
"java.import.gradle.enabled": false- This didn't help as it prevented project importing altogether, making indexing features unavailable - Default settings with
"java.import.gradle.enabled": true- Works but very slow initialization
Expected Behavior
- Faster workspace initialization on startup
- Quick reference search response (similar to IntelliJ performance)
- Persistence of indexing between editor sessions
Actual Behavior
- Every editor restart triggers full workspace reinitialization
- Reference search takes several seconds to display results
- Unable to use navigation features during initialization
Environment
- OS: macOS Ventura 13.1
- Java Language Server Extension Version: 1.38.0
- Gradle for Java Extension Version: 3.16.4
- VSCoder Version: 1.93.1
- JDK Version: Amazon Coretto 1.8
Additional Context
This is affecting development productivity significantly, especially when working with large codebases that require frequent navigation between references and implementations.
Question
Is there a way to:
- Persist the indexing between editor sessions?
- Optimize the reference search performance?
- Configure selective indexing for specific modules while maintaining full functionality?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.