Files
openidea/java/java-usages/plugin.xml
T
l0ng-ai 6402bd0bc2 fix(java): show a re-installed SNAPSHOT's classes after reloading the project
A SNAPSHOT installed again replaces its jar in place, so the path, the URIs
of its classes and jdtls' class handles stay the same. The compile model
picked up the new jar on reload, but an open decompiled class kept the old
contents, and reopening it did too: the backend's virtual document cache,
the editor's cache and jdtls' decompiler cache (keyed by class handle) all
still held what was read from the old jar.

The backend now records the archive's modification time with each cached
library class and reads the class again once it changed. After a build tool
sync it asks jdtls to refresh external archives, close the changed archives'
package fragment roots and drop its decompiled sources
(openidea.java.refreshArchives), then replaces the open classes whose jar
changed. The editor drops its cached virtual documents when project roots
change. Covers jar: and jdt: classes, decompiled or read from the archive.
2026-11-13 20:00:37 +08:00

29 lines
1.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<plugin>
<extension point="org.eclipse.jdt.ls.core.delegateCommandHandler">
<delegateCommandHandler class="ai.openidea.usages.CoveredFilesCommand">
<command id="openidea.workspace.coveredFiles"/>
</delegateCommandHandler>
<delegateCommandHandler class="ai.openidea.usages.CoveredRootsCommand">
<command id="openidea.workspace.coveredRoots"/>
</delegateCommandHandler>
<delegateCommandHandler class="ai.openidea.usages.UsagesCommand">
<command id="openidea.java.usages"/>
</delegateCommandHandler>
<delegateCommandHandler class="ai.openidea.configuration.ConfigurationCommand">
<command id="openidea.java.configuration"/>
<command id="openidea.java.configuration.warmup"/>
</delegateCommandHandler>
<delegateCommandHandler class="ai.openidea.implementations.ImplementationsCommand">
<command id="openidea.java.implementations"/>
</delegateCommandHandler>
<delegateCommandHandler class="ai.openidea.archives.RefreshArchivesCommand">
<command id="openidea.java.refreshArchives"/>
</delegateCommandHandler>
<delegateCommandHandler class="ai.openidea.hierarchy.HierarchyCommand">
<command id="openidea.java.hierarchy.members"/>
<command id="openidea.java.hierarchy.refactor"/>
</delegateCommandHandler>
</extension>
</plugin>