features icon indicating copy to clipboard operation
features copied to clipboard

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

Open ndlarsen opened this issue 1 year ago • 3 comments

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 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.

ndlarsen avatar Jul 13 '24 17:07 ndlarsen

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!

samruddhikhandale avatar Jul 30 '24 18:07 samruddhikhandale

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.

bamurtaugh avatar Jul 30 '24 22:07 bamurtaugh

Thank you for acknowledging this.

ndlarsen avatar Jul 31 '24 08:07 ndlarsen