redhat-developer / redhat-developer/vscode-java

java.import.maven.enabled setting not honored

Open
#1,057 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Maven
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
  1. Open a fresh workspace in VS Code
  2. Open a folder containing a Java project - we'll call this Project1
    1. The Java extension will immediately import and start compiling the code
  3. Add another folder containing another Java project to the workspace - we'll call this Project2
    1. The Java extension will immediately import and start compiling the code
  4. Restart VS Code
    1. The Java extension will immediately start compiling the code for both projects
  5. Edit Project2's VS Code settings ([project2]/.vscode/settings.json) to contain the following:
    {
        "java.import.gradle.enabled":false,
        "java.import.maven.enabled":false
    }
    
  6. Restart VS Code
    1. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.