Skip to content

#1880: Allow reset of installed plugins when launching IDE in force mode#1891

Open
areinicke wants to merge 16 commits into
devonfw:mainfrom
areinicke:feature/1880-reset-ide-plugins-when-using-force
Open

#1880: Allow reset of installed plugins when launching IDE in force mode#1891
areinicke wants to merge 16 commits into
devonfw:mainfrom
areinicke:feature/1880-reset-ide-plugins-when-using-force

Conversation

@areinicke
Copy link
Copy Markdown
Contributor

@areinicke areinicke commented May 5, 2026

This PR fixes #1880

Implemented changes:

  • When launching an IDE in force mode, the user is now prompted whether they want to reset the installed plugins for the IDE. Resetting plugins causes all installed plugins to be deleted. Thereafter, plugins are reinstalled as configured in the project settings.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled
    with internal

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board May 5, 2026
@areinicke areinicke self-assigned this May 5, 2026
@areinicke areinicke moved this from 🆕 New to Team Review in IDEasy board May 5, 2026
@areinicke areinicke added enhancement New feature or request settings ide-settings repo and replated processes and features plugins related to plugins (for Eclipse, Intellij, VSCode, etc.) labels May 5, 2026
@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented May 5, 2026

Coverage Report for CI Build 25721470472

Coverage increased (+0.04%) to 70.666%

Details

  • Coverage increased (+0.04%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 132 coverage regressions across 3 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

132 previously-covered lines in 3 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/context/AbstractIdeContext.java 114 65.22%
com/devonfw/tools/ide/context/IdeStartContextImpl.java 9 77.53%
com/devonfw/tools/ide/tool/plugin/PluginBasedCommandlet.java 9 86.56%

Coverage Stats

Coverage Status
Relevant Lines: 15484
Covered Lines: 11405
Line Coverage: 73.66%
Relevant Branches: 6920
Covered Branches: 4427
Branch Coverage: 63.97%
Branches in Coverage %: Yes
Coverage Strength: 3.12 hits per line

💛 - Coveralls

@satorus satorus self-assigned this May 6, 2026
@satorus satorus self-requested a review May 6, 2026 07:27
Comment thread cli/src/main/java/com/devonfw/tools/ide/tool/plugin/PluginBasedCommandlet.java Outdated
@satorus
Copy link
Copy Markdown
Contributor

satorus commented May 6, 2026

I tested the -f option with vscode and intellij. With vscode, everything works and looks good! With intellij i get this one always (not sure if this comes from your changes, i guess not...):

Also happens without the -f option, so i guess this is another error...your changes look good!

Start: Install plugin PlantUMLIntegration
Running command 'C:\Users\rwenzel\projects\IDEasy\software\intellij\bin\idea64.exe' with arguments 'installPlugins' 'PlantUML integration' 'C:\Users\rwenzel\projects\IDEasy\workspaces\main'
failed with exit code 1!
Running command 'C:\Users\rwenzel\projects\IDEasy\software\intellij\bin\idea64.exe' with arguments 'installPlugins' 'PlantUML integration' 'C:\Users\rwenzel\projects\IDEasy\workspaces\main'
failed with exit code 1!
com.devonfw.tools.ide.cli.CliProcessException: Running command 'C:\Users\rwenzel\projects\IDEasy\software\intellij\bin\idea64.exe' with arguments 'installPlugins' 'PlantUML integration' 'C:\Users\rwenzel\projects\IDEasy\workspaces\main'
failed with exit code 1!
        at com.devonfw.tools.ide.process.ProcessContextImpl.performLogging(ProcessContextImpl.java:399)
        at com.devonfw.tools.ide.process.ProcessContextImpl.run(ProcessContextImpl.java:242)
        at com.devonfw.tools.ide.tool.ToolCommandlet.runTool(ToolCommandlet.java:248)
        at com.devonfw.tools.ide.tool.ide.IdeaBasedIdeToolCommandlet.runTool(IdeaBasedIdeToolCommandlet.java:90)
        at com.devonfw.tools.ide.tool.ide.IdeaBasedIdeToolCommandlet.installPlugin(IdeaBasedIdeToolCommandlet.java:58)
        at com.devonfw.tools.ide.tool.plugin.PluginBasedCommandlet.doInstallPluginStep(PluginBasedCommandlet.java:174)
        at com.devonfw.tools.ide.tool.plugin.PluginBasedCommandlet.lambda$installPlugins$0(PluginBasedCommandlet.java:161)
        at com.devonfw.tools.ide.step.Step.run(Step.java:228)
        at com.devonfw.tools.ide.step.Step.run(Step.java:217)
        at com.devonfw.tools.ide.tool.plugin.PluginBasedCommandlet.installPlugins(PluginBasedCommandlet.java:161)
        at com.devonfw.tools.ide.tool.plugin.PluginBasedCommandlet.installPlugins(PluginBasedCommandlet.java:142)
        at com.devonfw.tools.ide.tool.plugin.PluginBasedCommandlet.postInstall(PluginBasedCommandlet.java:124)
        at com.devonfw.tools.ide.tool.ToolCommandlet.toolAlreadyInstalled(ToolCommandlet.java:559)
        at com.devonfw.tools.ide.tool.LocalToolCommandlet.installTool(LocalToolCommandlet.java:173)
        at com.devonfw.tools.ide.tool.LocalToolCommandlet.doInstallStep(LocalToolCommandlet.java:96)
        at com.devonfw.tools.ide.tool.LocalToolCommandlet.doInstall(LocalToolCommandlet.java:86)
        at com.devonfw.tools.ide.tool.ToolCommandlet.install(ToolCommandlet.java:302)
        at com.devonfw.tools.ide.tool.ide.IdeToolCommandlet.install(IdeToolCommandlet.java:70)
        at com.devonfw.tools.ide.tool.ToolCommandlet.runTool(ToolCommandlet.java:230)
        at com.devonfw.tools.ide.tool.ToolCommandlet.runTool(ToolCommandlet.java:211)
        at com.devonfw.tools.ide.tool.ToolCommandlet.runTool(ToolCommandlet.java:190)
        at com.devonfw.tools.ide.tool.ide.IdeToolCommandlet.runTool(IdeToolCommandlet.java:63)
        at com.devonfw.tools.ide.tool.ToolCommandlet.doRun(ToolCommandlet.java:166)
        at com.devonfw.tools.ide.tool.ide.IdeToolCommandlet.doRun(IdeToolCommandlet.java:57)
        at com.devonfw.tools.ide.commandlet.Commandlet.run(Commandlet.java:232)
        at com.devonfw.tools.ide.context.AbstractIdeContext.applyAndRun(AbstractIdeContext.java:1315)
        at com.devonfw.tools.ide.context.AbstractIdeContext.run(AbstractIdeContext.java:1140)
        at com.devonfw.tools.ide.cli.Ideasy.runOrThrow(Ideasy.java:91)
        at com.devonfw.tools.ide.cli.Ideasy.run(Ideasy.java:55)
        at com.devonfw.tools.ide.cli.Ideasy.main(Ideasy.java:134)

Step 'Install plugin PlantUMLIntegration' ended with failure.
 Step 'Install plugin PlantUMLIntegration' failed: unexpected error
1 step(s) failed out of 3 steps.

@areinicke
Copy link
Copy Markdown
Contributor Author

Yeah. The PlantUML extension seems to be broken. But like you said, this has nothing to do with my changes.

@areinicke areinicke moved this from Team Review to 👀 In review in IDEasy board May 6, 2026
Copy link
Copy Markdown
Member

@hohwille hohwille left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@areinicke thank you for your story idea and this PR implementing it. Great that you also found the perfect spot to document the new feature. 👍
I do have one concern and would like to suggest some improvement via my review comment. Please have a look and consider a small upgrade of this PR. Thanks.

Comment thread cli/src/main/java/com/devonfw/tools/ide/tool/plugin/PluginBasedCommandlet.java Outdated
@hohwille hohwille added this to the release:2026.05.001 milestone May 11, 2026
@areinicke
Copy link
Copy Markdown
Contributor Author

I have re-factored the code to no longer use the force mode for plugin reset but a dedicated feature flag (--force-plugin-reinstall) that can provided for IDEs (e.g., ide vscode --force-plugin-reinstall).
The documentation has been changed accordingly.

@areinicke areinicke moved this from 👀 In review to Team Review in IDEasy board May 12, 2026
Copy link
Copy Markdown
Contributor

@satorus satorus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The flag works and all plugins are getting reinstalled as far as i can see, good job!

The only thing would be that there is not really any indication for the user that the flag does something...the only log output that all plugins are being deleted is on log level DEBUG, which is not usually shown to the user.

Maybe it would be good to add some console output indicating that the flag did something.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request plugins related to plugins (for Eclipse, Intellij, VSCode, etc.) settings ide-settings repo and replated processes and features

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

Reinstall all plugins for IDE in force mode

4 participants