-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Copy-and-Paste: Bonus Task - Progress Monitoring Tree View
β οΈ Important: This is a bonus enhancement to be implemented after the main progress monitoring feature is complete.
Enhances Development Plan Point: 6
Description:
Instead of using vscode.window.withProgress notifications, create a dedicated VS Code view with a tree-like structure for progress monitoring. This will provide a more sophisticated interface for tracking multiple concurrent operations with detailed sub-task progress information.
Requirements
Progress Monitoring Tree View Implementation:
1. Create a new Progress View:
- Add a new view contribution in package.json:
- View ID:
documentdb.progressView - View Name: "Tasks"
- View Container: Create a new view container or use existing "DocumentDB" container
- Icon: Use appropriate task/progress icon
- View ID:
2. Tree Data Provider Implementation:
- Create
src/tree/progress-view/ProgressTreeDataProvider.tsfollowing the existing tree provider patterns - Tree structure:
- Root level: Active tasks (show task name, overall progress percentage, status icon)
- Child level: Sub-tasks or detailed progress steps (show step name, progress, timing information)
- Implement real-time updates using VS Code's tree refresh events when task states change
3. Tree Item Features:
-
Task Items (root level):
- Show task type icon (e.g., copy, paste, migration)
- Display overall progress bar using custom tree item descriptions
- Show elapsed time and estimated time remaining
- Context menu actions: "Stop Task", "View Details", "Clear Completed"
-
Sub-task Items (child level):
- Show individual operation progress (e.g., "Copying document 45/100")
- Display operation-specific details (document IDs, collection names, error counts)
- Use different icons for different states (pending, running, completed, failed)
4. Enhanced TaskReportingService Integration:
- Modify
TaskReportingServiceto support both notification and tree view modes - Add methods to:
- Register/unregister the tree data provider
- Convert task status updates to tree item updates
- Manage hierarchical progress reporting for sub-tasks
- Allow users to switch between notification and tree view modes via settings
5. Additional Tree View Features:
-
Filtering and Sorting:
- Filter by task type, status, or time range
- Sort by start time, progress, or name
-
Task History:
- Keep completed/failed tasks visible for a configurable duration
- Allow manual clearing of completed tasks
- Show task completion timestamps
-
Progress Visualization:
- Use VS Code's built-in progress indicators in tree items
- Color-code items based on status (green for running, yellow for warnings, red for errors)
- Show aggregate statistics in view welcome content when no tasks are active
6. User Experience Enhancements:
- Auto-reveal the progress view when a new long-running task starts
- Provide "pin" functionality to keep important tasks visible
- Support collapsing/expanding task details
- Show task queue information if multiple tasks are pending
This tree view approach provides a centralized location for monitoring all DocumentDB operations, making it easier to track multiple concurrent tasks and understand complex multi-step operations at a glance.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status