devcontainers / devcontainers/features
[Java] FR/suggestion/feedback: exclude Intellicode extention, enable granularity for extensions and what about the gradle extension?
- Dominant language
- Shell
- Stars
- 1.5k
- Forks
- 621
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 4
Description
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:
- `Language Support for Java(TM) by Red Hat` (`redhat.java`)
- `Debugger for Java` (`vscjava.vscode-java-debug`)
- `Test Runner for Java` (`vscjava.vscode-java-test`)
- `Maven for Java` (`vscjava.vscode-maven`)
- `Project Manager for Java` (`vscjava.vscode-java-dependency`)
- `IntelliCode` (`VisualStudioExptTeam.vscodeintellicode`)
- which in turn includes `Intellicode API Usage Examples` (`visualstudioexptteam.intellicode-api-usage-examples`)
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](https://github.com/microsoft/vscode-docs/blob/main/remote-release-notes/v1_85.md#opt-out-of-extensions) 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:
```json
"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.
Contributor guide
Assessment
This issue has not been assessed yet.