Skip to content

#2173: store JetBrains vmoptions under $IDE_HOME/.ide/<ide>/<workspace> - #2208

Open
quando632 wants to merge 7 commits into
devonfw:mainfrom
quando632:feature/2173-jetbrains-metadata
Open

#2173: store JetBrains vmoptions under $IDE_HOME/.ide/<ide>/<workspace>#2208
quando632 wants to merge 7 commits into
devonfw:mainfrom
quando632:feature/2173-jetbrains-metadata

Conversation

@quando632

@quando632 quando632 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #2173 (part of #2142)

Moves the JetBrains VM options out of the workspace into $IDE_HOME/.ide/«ide»/«workspace» for IntelliJ, PyCharm and Android Studio, solved once in their shared superclass.

Stacked on #2175 (#2172getIdeMetadataPath()); its commit appears here until #2175 is merged, then rebase onto main.

Scope

Per the discussion on #2142, only the vmoptions are relocated. .idea and *.properties are intentionally out of scope: .idea is IntelliJ's project-root-bound project definition (excluded from IntelliJ's own search anyway) and idea.properties is an empty template merged into the workspace — relocating them would need symlinks (Windows-permission risk) for little benefit. Spike #2209 was closed as not planned.

Implemented changes

  • IdeaBasedIdeToolCommandlet.runTool: the .«prefix».vmoptions file is now written to getIdeMetadataPath() instead of the workspace (the «IDE»_VM_OPTIONS env var points at the same new path). One change in the shared superclass covers IntelliJ (.idea.vmoptions), PyCharm (.pycharm.vmoptions) and Android Studio (.studio.vmoptions).
  • Updated IntellijTest, PycharmTest, AndroidStudioTest to assert the new location.

No migration is needed: the vmoptions file is regenerated at the new location from the «IDE»_VM_ARGS variable on the next IDE launch.

Testing instructions

  1. cd cli && mvn -Dtest=IntellijTest,PycharmTest,AndroidStudioTest test — all pass.
  2. Manual: set INTELLIJ_VM_ARGS in your project, run ide intellij, verify .idea.vmoptions is created under $IDE_HOME/.ide/intellij/«workspace»/ and not in the workspace.

Checklist for this PR

@coveralls

coveralls commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 30438507083

Coverage decreased (-0.02%) to 72.574%

Details

  • Coverage decreased (-0.02%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 8 coverage regressions across 2 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

8 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/tool/ide/IdeToolCommandlet.java 7 78.69%
com/devonfw/tools/ide/version/VersionSegment.java 1 89.5%

Coverage Stats

Coverage Status
Relevant Lines: 16998
Covered Lines: 12864
Line Coverage: 75.68%
Relevant Branches: 7603
Covered Branches: 4990
Branch Coverage: 65.63%
Branches in Coverage %: Yes
Coverage Strength: 3.21 hits per line

💛 - Coveralls

@quando632 quando632 self-assigned this Jul 27, 2026
@quando632 quando632 added enhancement New feature or request workspace workspaces sub-folder to manage sub-projects labels Jul 28, 2026
@quando632
quando632 force-pushed the feature/2173-jetbrains-metadata branch from 402f6a4 to 6b3cb19 Compare July 28, 2026 09:26
@quando632 quando632 moved this from 🆕 New to Team Review in IDEasy board Jul 28, 2026
@quando632
quando632 marked this pull request as ready for review July 29, 2026 09:10
@QuangAnhLe QuangAnhLe self-assigned this Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request workspace workspaces sub-folder to manage sub-projects

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

JetBrains: store IntelliJ/PyCharm/Android Studio metadata under $IDE_HOME/.ide + migration

3 participants