Fix: Copy in Output pane respects active filters #287164
Draft
+266
−0
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.
When a filter is active in the Output pane, copying (Ctrl+A + Ctrl+C) currently copies all content including hidden/filtered lines. This makes filtered logs difficult to process.
Changes
getHiddenAreas()to surface currently hidden rangesClipboardEventUtilsfor consistency with VS Code clipboard operationsImplementation Details
The handler splits selection ranges by iterating through lines and checking if each line falls within a hidden area. Visible sub-ranges are extracted and concatenated with proper EOL characters. When no filter is active, default copy behavior is preserved.
Resource management follows the established
DisposableStorepattern used inFilterController. The copy listener is re-attached when the editor model changes.Testing
Manual testing required: Apply filter in Output pane → select and copy content → verify only visible lines are copied to clipboard.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.