redhat-developer / redhat-developer/vscode-java

Some completions available in lightweight mode aren't available in standard mode

Offen
#3,938 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
TypeScript
Sterne
2.3k
Forks
546
Ø Merge
20 Std. 1 Min.
Gemergte PRs (30 T.)
11

Beschreibung

This extension decided to start acting up for no reason. I thought that maybe one of the cache/data files got corrupted somehow, so I removed every vscode-related file I could find and reinstalled everything, but it was still acting up. It's been very finicky, but the most reliably-broken feature I've seen is that some completions aren't available when they should be - mainly expanding a method name into a method stub.

I tried several old extension versions that worked previously and they also refused to work properly. I typically use vscodium, but I've also tried with vscode proper and its open source release. I'm not sure what else I can try, every log I can find hasn't been very helpful.

Steps to reproduce:

  1. Create a superclass with a method and implement it on a subclass
  2. Either type out the name of the method, or use intellisense to find it
  3. Control + space again to bring up intellisense
  4. In lightweight mode, there will be one or more completions that expand to a stub version of the method. In standard mode, there aren't any completions available

Lightweight mode:
Image

Standard mode:
Image

The method:
Image

Syntax server logs:

WARNING: Using incubator modules: jdk.incubator.vector
[Error - 4:05:59 PM] Jan 29, 2025, 4:05:59 PM An internal error occurred during: "Initialize After Load".
Cannot invoke "org.osgi.framework.Bundle.start(int)" because the return value of "org.eclipse.core.runtime.Platform.getBundle(String)" is null
java.lang.NullPointerException: Cannot invoke "org.osgi.framework.Bundle.start(int)" because the return value of "org.eclipse.core.runtime.Platform.getBundle(String)" is null
	at org.eclipse.jdt.ls.core.internal.handlers.BundleUtils.startBundle(BundleUtils.java:360)
	at org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin$1.run(JavaLanguageServerPlugin.java:196)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

[Error - 4:06:04 PM] Jan 29, 2025, 4:06:04 PM Problem with folding range for /jdt.ls-java-project/src/gregtech/common/tileentities/machines/MTEHatchCraftingInputME.java
MTEHatchCraftingInputME.java [in gregtech.common.tileentities.machines [in src [in jdt.ls-java-project]]] does not exist
Java Model Exception: Error in Java Model (code 969): MTEHatchCraftingInputME.java [in gregtech.common.tileentities.machines [in src [in jdt.ls-java-project]]] does not exist
	at org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:556)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:234)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:569)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:292)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:278)
	at org.eclipse.jdt.internal.core.CompilationUnit.getSourceRange(CompilationUnit.java:1085)
	at org.eclipse.jdt.ls.core.internal.handlers.FoldingRangeHandler.computeFoldingRanges(FoldingRangeHandler.java:79)
	at org.eclipse.jdt.ls.core.internal.handlers.FoldingRangeHandler.foldingRange(FoldingRangeHandler.java:70)
	at org.eclipse.jdt.ls.core.internal.syntaxserver.SyntaxLanguageServer.lambda$8(SyntaxLanguageServer.java:376)
	at org.eclipse.jdt.ls.core.internal.BaseJDTLanguageServer.lambda$0(BaseJDTLanguageServer.java:87)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:646)
	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

Extension host logs:

2025-01-29 16:06:22.526 [error] [redhat.java] provider FAILED
2025-01-29 16:06:22.543 [error] Error: The request (id: 14, method: 'textDocument/hover') has been cancelled
	at /home/[redacted]/.vscode/extensions/redhat.java-1.39.0-linux-x64/dist/extension.js:2:1066478
	at re (/home/[redacted]/.vscode/extensions/redhat.java-1.39.0-linux-x64/dist/extension.js:2:1066772)
	at /home/[redacted]/.vscode/extensions/redhat.java-1.39.0-linux-x64/dist/extension.js:2:1061556
	at Immediate.<anonymous> (/home/[redacted]/.vscode/extensions/redhat.java-1.39.0-linux-x64/dist/extension.js:2:1061576)
	at process.processImmediate (node:internal/timers:483:21)
2025-01-29 16:06:34.678 [error] [redhat.java] provider FAILED
2025-01-29 16:06:34.678 [error] Error: The request (id: 24, method: 'textDocument/hover') has been cancelled
	at /home/[redacted]/.vscode/extensions/redhat.java-1.39.0-linux-x64/dist/extension.js:2:1066478
	at re (/home/[redacted]/.vscode/extensions/redhat.java-1.39.0-linux-x64/dist/extension.js:2:1066772)
	at /home/[redacted]/.vscode/extensions/redhat.java-1.39.0-linux-x64/dist/extension.js:2:1061556
	at Immediate.<anonymous> (/home/[redacted]/.vscode/extensions/redhat.java-1.39.0-linux-x64/dist/extension.js:2:1061576)
	at process.processImmediate (node:internal/timers:483:21)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Superklassen-/Unterklassenszenario in VS Code und vergleiche die Vervollständigungsergebnisse im Lightweight- und im Standardmodus. Beginne mit der Prüfung der Stack-Trace-Stellen von JDT LS, einschließlich BundleUtils.startBundle und FoldingRangeHandler, zusammen mit dem gemeldeten Vervollständigungsverhalten; abgeschlossen ist die Aufgabe, wenn der Standardmodus ohne die protokollierten Fehler dieselben Methodenstub-Vervollständigungen wie der Lightweight-Modus anbietet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java, typescript, vscode
Bereich
developer-experience, devtools, tooling
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.