Description
Feature Request: "Quicksee" - A Multi-Modal, Non-Intrusive Code Preview & Exploration Panel
Problem Statement:
As developers, we constantly need to reference, inspect, and understand code in other files (e.g., utility modules, components, new contributions, unfamiliar parts of a codebase) without interrupting our primary coding flow. Current methods (opening new tabs, "Go to Definition," text-based IntelliSense) often lead to:
-
Excessive tab clutter.
-
Frequent context switching, breaking concentration.
-
Slow discovery of relevant code within files.
-
Hesitation to open unfamiliar or untrusted files.
-
Inefficient snippet extraction and integration.
Proposed Solution: "Quicksee" – A dynamic, multi-modal, non-intrusive visual code preview panel.
"Quicksee" aims to provide rapid, customizable access to code content from other files for quick reference, inspection, and direct interaction, without the overhead of fully opening them.
Core Idea:
A dismissible, resizable window or side panel that offers live, scrollable visual previews of code files, either individually or as a gallery of "thumbnails," accessible via intuitive gestures or shortcuts.
Detailed Features & Behaviors:
A. Access & Display Modes:
-
On-Demand Drop-Down Window:
-
The "Quicksee" panel can be triggered to "drip down" from the top of the VS Code window (or screen edge in multi-monitor setups) when the mouse cursor hovers over a defined "hot zone" at the top.
-
Alternatively, it can be activated/deactivated via a customizable keyboard shortcut to prevent unintentional pop-ups.
-
Users should be able to customize the delay for auto-drop-down if enabled.
-
-
Scalable & Multi-Monitor Support:
-
The drop-down/pop-out Quicksee window should be fully resizable (height and width).
-
For multi-monitor setups, users can assign the Quicksee window to a specific desired monitor, much like panel customization in professional applications (e.g., Adobe software).
-
-
Preview Modes:
-
Single-File Hover Preview: When hovering over a file name (e.g., in the Explorer, a from ... import statement, or a dedicated "Quicksee browser"), a Quicksee panel appears, showing the live content of that single file.
-
Multi-File "Code Gallery" Browser: A dedicated mode within Quicksee (or its primary view) that displays "live, scrollable thumbnails" or snapshots of multiple selected/related .py files concurrently. This allows for a visual overview of a project's architecture or related components side-by-side.
-
B. Interaction within Preview Panels:
-
Scrollable Previews (Ctrl + Mouse Wheel):
- Within any Quicksee preview (single-file or multi-file thumbnail), users can hold Ctrl and scroll the mouse wheel to scroll vertically through the file's content from top to bottom, without needing to click into the preview window to give it focus.
-
Live Input / Auto Copy-Paste (Ctrl + Alt + Mouse Wheel for Selection and Insertion):
-
In a Quicksee preview, users can hold Ctrl + Alt and scroll the mouse wheel to dynamically select lines of code. Scrolling down would extend the selection downwards, and scrolling up would extend it upwards from the initial point.
-
Upon releasing the keys/mouse, the selected lines of code are automatically copied or "live inputted" (written) into the active editor file at the last cursor position.
-
This acts as a rapid "auto copy-paste" feature, designed for efficient snippet transfer.
-
Benefits to Developers:
-
Drastically Reduces Context Switching: Inspect code without leaving your current file, maintaining focus and flow state.
-
Enhances Code Discovery & Understanding: Quickly browse and comprehend unfamiliar or complex modules, or verify function implementations, before committing to an import or deeper dive.
-
Improved Security & Quality Control: Facilitates quick visual inspection of external, shared, or untrusted code files before integration.
-
Reduces Tab Clutter: Keep your primary workspace clean by referencing files in a temporary, dismissible panel.
-
Boosts Efficiency: Speeds up code reference, snippet extraction, and understanding of project structure, especially in large codebases.
-
Superior Ergonomics: Customizable activation and multi-monitor support provide a tailored, comfortable user experience for long coding sessions.
-
Visual Intuition: Leverages visual memory and the success of the existing Minimap concept, extending it to multiple files for a holistic project view.
Why this is different/better than existing features:
-
Beyond Peek Definition: Peek Definition shows one definition at a time, often requiring a manual trigger. Quicksee offers multi-file Browse, persistent hover preview, and direct interaction.
-
Beyond Explorer View: The Explorer shows file names; Quicksee shows live, scrollable code content.
-
Beyond Basic Autocompletion: IntelliSense helps with names; Quicksee helps with content and structure.
-
Integrated Workflow: It seamlessly blends Browse, inspection, and direct code transfer in one fluid interaction model.
User Scenario:
Imagine a developer working on a feature. They need to call a function from an existing utils.py file, but can't quite remember its exact parameters or implementation. Instead of opening utils.py (creating a new tab), finding the function, reading it, then closing the tab and returning to their work, they simply hover over utils.py in the explorer (or a link to it). "Quicksee" appears, showing a live, scrollable preview. They quickly Ctrl+scroll to the function, Ctrl+Alt+scroll to copy its signature/docstring, and it's instantly pasted into their code, all without leaving their current file. If they need to check a related function in database.py, they just hover over that, and its content pops up in "Quicksee."
Conclusion:
"Quicksee," with its versatile preview modes, intuitive interaction model, and robust customization, has the potential to become a highly beloved and productivity-enhancing feature within VS Code, addressing significant developer pain points related to code exploration, reference, and integration.