microsoft / microsoft/vscode-java-pack
Suggestions for VSCode's Support for Java Language
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 352
- Forks
- 166
- Avg merge
- 17h 47m
- Merged PRs (30d)
- 32
Description
The support for Java development in VSCode feels scattered without a core organization to regulate the development of other extensions generated for Java. The extensions available for Java in VSCode seem to be doing their own thing, and while some could define common standards to follow, there is no organization to establish that. As a result, each extension feels like a new entity. Even the configuration of the JDK cannot be unified.
JetBrains IDEA is also based on extensions, and many of its features are supported by different extensions. However, these extensions collaborate and embrace the parts that can be unified. Thus, IDEA is relatively more user-friendly.
For example, IDEA provides a unified JDK version selection option at the project level for users to choose from. The compilation extensions can select the JDK specified by the project rather than specifying a JDK version separately. The Maven plugin operates similarly when selecting the JDK, allowing direct selection of the JDK version chosen by the project.
The JDK that these extensions rely on can be specified uniformly, rather than configured separately.
The support for each language in VSCode should start with Microsoft defining a standardized core extension. In the case of the Java language, Microsoft should first define the configuration for the project's JDK. Other newly developed extensions that require a JDK should obtain this JDK option from the core extension.
There should be control over these global elements. Otherwise, every time a user installs an extension, they have to configure the JDK again. Even if configuration is manageable, the problem arises when a user's project needs to switch JDK versions. At that point, all Java extensions would have to re-specify the JDK configuration.
If the cohesion of these extensions is not considered globally, VSCode's development for the Java language will never improve, and no one will use VSCode to develop Java applications.
It is strongly recommended that Microsoft conduct in-depth research on the relevant features of JetBrains IDEA and draw from its more mature solutions to design within VSCode.
Contributor guide
No contributing guide indexed for this repository
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
No file, test, or entry point is named; start by mapping the Java extensions in vscode-java-pack and their separate JDK settings. Compare the requested project-level JDK selection with the Maven and compilation extension behavior described in the issue. Done would require an agreed core configuration and demonstrated reuse by the affected extensions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, vscode
- Domain
- developer-experience, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100