Reload the cached classfile sources when new source attachment is updated for them #3207
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This requires jdt.ls PR eclipse-jdtls/eclipse.jdt.ls#2764.
What this PR does:
Respond to SourceInvalidatedEvent notification. If the event is triggered by user operation such as "Attach Source", then refresh the open editors for new source directly. If it's triggered by auto downloading maven source, then ask user whether to reload the new source. This refresh behavior is controlled by a setting
java.editor.reloadChangedSources
. Defaults toask
, you can change it toauto
for refreshing automatically.Expose the SourceInvalidatedEvent as an extension API
onDidSourceInvalidate
. This will let other source consumers (e.g. Debugger) to refresh their cache as well. The debugger should update the line numbers of the relevant stack frames when the new source jar is available.Ask to refresh open editors for new maven source
download_source_switch.mp4
manual_attach_source.mp4