redhat-developer / redhat-developer/vscode-java
java.import.maven.enabled setting not honored
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2.3k
- Forks
- 546
- Avg merge
- 20h 1m
- Merged PRs (30d)
- 11
Description
Currently, the "java.import.maven.enabled":false setting requires that the .project, .classpath files and the .settings directory be removed and the Java workspace cleaned before taking effect (see https://github.com/redhat-developer/vscode-java/issues/634#issuecomment-529466893). This is clunky and poorly-documented.
Ideally, setting the "java.import.maven.enabled":false should immediately take effect. Less ideally, there should be clear documentation around the use of this setting to instruct users to clear out the files and clean the workspace.
Truthfully, my use case is to disable the Java language features for one of the folders in my multi-root workspace. This is currently made possible by disabling the import, but one could imagine a world in which this is a different setting, which would take effect immediately.
Environment
- Operating System: Windows 10 1809
- JDK version: 1.8.0_221
- Visual Studio Code version: 1.38.0
- Java extension version: 0.48.0
Steps To Reproduce
- Open a fresh workspace in VS Code
- Open a folder containing a Java project - we'll call this Project1
- The Java extension will immediately import and start compiling the code
- Add another folder containing another Java project to the workspace - we'll call this Project2
- The Java extension will immediately import and start compiling the code
- Restart VS Code
- The Java extension will immediately start compiling the code for both projects
- Edit Project2's VS Code settings ([project2]/.vscode/settings.json) to contain the following:
{ "java.import.gradle.enabled":false, "java.import.maven.enabled":false } - Restart VS Code
- The Java extensions will immediately start compiling the code for both projects
Current Result
Immediately after setting the "java.import.maven.enabled":false property, the Java language features are still alive and active in the project.
Even after a restart of VS Code, the Java language features are still alive and active.
Expected Result
Immediately after setting the "java.import.maven.enabled":false property, the Java language features for the project should stop working.
After a restart of VS Code, the Java language features for the project should not load.
Additional Informations
This issue was based on a conversation with @snjeza in the VS Code Java Extension gitter channel.
Contributor guide
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.
Research direction
Start by reproducing the multi-root workspace behavior using Project2/.vscode/settings.json and the java.import.maven.enabled setting. Check how the existing .project, .classpath, and .settings files affect the import after a restart; done means disabling the setting takes effect without manually removing those files, or the required cleanup is clearly documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, typescript, vscode
- Domain
- developer-experience, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100