devcontainers / features

A collection of Dev Container Features managed by Dev Container spec maintainers. See https://github.com/devcontainers/feature-starter to publish your own
https://containers.dev/features
MIT License
870 stars 350 forks source link

[Java] FR/suggestion/feedback: exclude Intellicode extention, enable granularity for extensions and what about the gradle extension? #1038

Open ndlarsen opened 2 months ago

ndlarsen commented 2 months ago

Hi.

Currently the java feature includes the Extension Pack for Java (vscjava.vscode-java-pack) extension as part of the feature. This extension currently includes the following:

Personally, I do not want any of that AI stuff force fed and would much appreciate it if it was not installed via the feature by default.

If I choose Gradle over Maven as the build tool, the Maven extension (vscjava.vscode-maven) is still installed but not the Gradle (vscjava.vscode-gradle) one, should that not at least be consistent?

Also, I do not understand the reasoning behind installing ESlint (dbaeumer.vscode-eslint) in the feature by default.

Now, I am aware of the recent addition to vscode-remote allowing for opting out of installing extensions via the devcontainers definition but that is really just a band aid attempting to fix the symptom rather than a fix for the cause. If I choose to use the opt out feature, I need to manually exclude the Java pack (and the eslinting stuff) and manually add all but the Intellicode extension

This is how the devcontainer definition is going to look like:


    "customizations": {
        "vscode": {
            "extensions": [
                "-dbaeumer.vscode-eslint",
                "-vscjava.vscode-java-pack",
                "-vscjava.vscode-maven",
                "-visualstudioexptteam.intellicode-api-usage-examples",
                "-visualstudioexptteam.vscodeintellicode",

                "redhat.java",
                "vscjava.vscode-java-dependency",
                "vscjava.vscode-java-test",
                "vscjava.vscode-java-debug",
                "vscjava.vscode-gradle",
            ]
        }

which is just stupid.

Perhaps what really need to happen is a conversation about increased granularity related to the extensions as well as consistency between the selected build tool an the installed extensions.

samruddhikhandale commented 1 month ago

Hi 👋

Thanks for sharing your thoughts, appreciate it!

In the past, we have added the extensions due to user feedback, but I agree we should do a sanity check on them and understand the need for more granular control over the extensions to improve the user experience.

@bamurtaugh @craiglpeters Looking for your thoughts from a product perspective, thanks!

bamurtaugh commented 1 month ago

Thanks so much for the feedback! I think it's definitely worth keeping this issue open for discussion. If we hear additional feedback regarding this set of extensions, it'd be great to revisit what we include to ensure it's reflective of the community's typical use.

ndlarsen commented 1 month ago

Thank you for acknowledging this.