microsoft / microsoft/vscode-java-pack
Opening project as workspace causes language server to ignore java.jdt.ls.vmargs
@testforstephen is already working on this.
Since May 5, 2022.
- Dominant language
- TypeScript
- Stars
- 352
- Forks
- 166
- Avg merge
- 17h 47m
- Merged PRs (30d)
- 32
Description
I can't reproduce this on all workspaces, but for a strange reason some projects have issues with Lombok auto-generated methods when using the Java Extension Pack where the language server fails to recognize Lombok auto-generated methods.
The root cause appears to be that the java.jdt.ls.vmargs global setting is ignored, and the language server JVM is launched without the -javaagent:/path/to/lombok.jar that the VS Code Lombok extension injects. When opening the same affected project as a folder instead of as a workspace, the vmargs are injected correctly.
Environment:
- VS Code Version: v1.66.2
- Extension Version: v0.22.4
- JDK Type & Version: Termurin 18
- OS Type & Version: Mac
Step to Reproduce:
- Open project as workspace
- Enable/install Java Extension Pack and Lombok extensions
- Write a POJO making use of
@Getterand@SetterLombok annotations - Try to call the getters of said POJO from another class
Expected Behavior:
Code intellisense/autocomplete shows Lombok-generated getters and setters, and code written calling the getters and setters has no errors.
Actual Behavior:
VS Code claims the getters and setters are undefined methods, and will not build or compile the project. Maven can compile the code with a mvn clean compile normally.
Related Issues:
Possibly related to https://github.com/redhat-developer/vscode-java/issues/1802
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.