-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requestphase-2Phase 2: File History & Commit DetailsPhase 2: File History & Commit Detailspriority: mediumMedium priority itemMedium priority item
Description
Description
Add comprehensive diff integration for comparing file versions, including revision navigation commands for quickly moving through file history.
Requirements
Core Diff Features
- Compare with previous revision
- Compare with any revision (picker dialog)
- Compare with branch
- Compare with tag
- Side-by-side diff view
- Integration with VS built-in diff tools
Revision Navigation Commands
- Open Changes with Previous Revision - Compare current with previous commit
- Open Changes with Next Revision - Compare with next commit (when viewing history)
- Open Line Changes with Previous Revision - Focus on current line's history
- Open Changes with Working File - Compare revision with working copy
- Open Changes with Specific Revision - Pick a commit to compare
Quick Navigation
- Previous revision shortcut (e.g., Alt+[)
- Next revision shortcut (e.g., Alt+])
- Jump to first/last revision
- Navigation breadcrumb showing position in history
Visual Indicators
- Current revision indicator in editor title
- Navigation arrows/buttons in editor toolbar
- History position (e.g., "3 of 47 revisions")
Comparison Targets
- HEAD
- Working copy
- Specific commit SHA
- Branch
- Tag
- Stash
- Upstream branch
Configuration Options
- Default comparison target
- Keyboard shortcut customization
- Show navigation controls toggle
- Diff editor preference (inline vs side-by-side)
Technical Notes
- Use VS SDK diff APIs where available
- LibGit2Sharp for retrieving file content at specific commits
- Consider using VS's IVsDifferenceService
Related Issues
- feat(compare): add branch and tag comparison features #13 - Advanced branch and tag comparison features (extends this issue)
- feat(history): add File History tool window #4 - File History tool window (provides history context for navigation)
Acceptance Criteria
- All diff comparison modes work correctly
- All navigation commands function properly
- Keyboard shortcuts work
- Visual indicators update in real-time
- Performance is acceptable for files with long history
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestphase-2Phase 2: File History & Commit DetailsPhase 2: File History & Commit Detailspriority: mediumMedium priority itemMedium priority item