Col-E / Col-E/Recaf

Show source jar file for the currently opened class tab

Open
#1,045 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
7.4k
Forks
538
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
When a workspace has multiple loaded jars (either as the primary resource, or as embedded resources inside a supporting directory resource), there's no straightforward way in the UI to tell which jar file a given open tab's
class actually came from. This becomes especially painful with workspaces containing a lot of jars.

Currently the only way I found to get this info was writing a custom script that walks the PathNode parent chain via NavigationManager to find the nearest ResourcePathNode, and cross-references the active tab via DockContainerLeaf#getSelectedDockable().

**Describe the solution you'd like**
Surface the source resource directly in the UI for the currently open/active tab, for example:
- Show the containing jar/file name in the tab's tooltip
- Show it in a status bar at the bottom of the window
- Add a "Reveal in tree" / "Locate resource" context menu action on the tab, which expands the workspace tree to the resource that contains the class

**Describe alternatives you've considered**
Manually switching between resources in the workspace tree dropdown and searching for the class visually — not practical with a large number of jars.

**Additional context**
Happy to test this against a workspace with a lot of jars if useful for verifying the fix works with deeply nested/mbedded resources (directory resource containing multiple jar resources).

Contributor guide

Open the contributing guide

Research direction

Start with the active tab lookup through DockContainerLeaf#getSelectedDockable() and trace its class through the PathNode parent chain via NavigationManager to the nearest ResourcePathNode. Determine which UI surface best exposes the containing jar or file, including nested resources; done means the active class tab clearly identifies its source in workspaces with multiple and embedded jars.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.