Skip to content

VS Code Insiders Support#4

Open
smaglio81 wants to merge 19 commits into
SachiHarshitha:masterfrom
smaglio81:vscode-insiders-support
Open

VS Code Insiders Support#4
smaglio81 wants to merge 19 commits into
SachiHarshitha:masterfrom
smaglio81:vscode-insiders-support

Conversation

@smaglio81
Copy link
Copy Markdown

In #1, the first feature request is support for VS Code Insiders. I also use VS Code Insiders, so I thought I would give it a try to add support.

The feature was written by AI (Claude, mostly Sonnet 4.6) and went through a lot of rounds of code review with GitHub Copilot Reviewer (PR Review).

There was a little hiccup that might be worth noting:

When following the main README.md's instructions for running copilot-usage CLI:

cd apps/cli
pip install -e .

The pip install -e . command failed with an error that the readme = "README.md" (link) doesn't exist at apps/cli.

The AI copied the main README.md into that folder to satisfy the build.

Anyways, HTH

smaglio-ucsb and others added 19 commits May 26, 2026 08:59
…scovery) update _uri_to_path docstring for platform-agnostic output
Copilot AI review requested due to automatic review settings May 28, 2026 16:03
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds support for discovering Copilot chat session data across both stable VS Code and VS Code Insiders workspace storage locations, replacing the single-root model with a multi-root model in both the VS Code extension and Python CLI.

Changes:

  • Introduce getWorkspaceStorageRoots/VSCODE_STORAGE_ROOTS returning multiple platform-specific roots (stable + Insiders), with ordering based on the running host where applicable.
  • Update discovery, signature computation, file watchers, panels, status bar, and pipeline to iterate over and merge results across multiple roots.
  • Update tests, docs, and settings UI to surface the multi-root behavior; rewrite _uri_to_path to use urlparse + url2pathname and add an Insiders test case.

Reviewed changes

Copilot reviewed 12 out of 14 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
apps/vscode-extension/src/core/discovery.ts Replaces single-root API with multi-root variant and merges workspaces by id across roots.
apps/vscode-extension/src/extension.ts Iterates all roots to create file watchers and threads storageRoots into refresh/signature calls.
apps/vscode-extension/src/views/panels.ts Caches storageRoots per panel and passes it to discovery calls.
apps/vscode-extension/src/views/statusBar.ts Adds storageRoots handling and removes constructor-side initial refresh.
apps/vscode-extension/src/test/discovery.test.ts Updates existing tests to array form and adds ordering + merge tests.
apps/cli/src/copilot_usage/config.py Adds VSCODE_STORAGE_ROOTS, keeping VSCODE_STORAGE_ROOT as backward-compat alias.
apps/cli/src/copilot_usage/discovery.py Multi-root discovery; rewrites _uri_to_path for platform-native output.
apps/cli/src/copilot_usage/pipeline.py Accepts storage_roots, keeps deprecated storage_root.
apps/cli/src/copilot_usage/dashboard/pages/pipeline.py UI supports ;-separated multi-root paths.
apps/cli/src/copilot_usage/dashboard/pages/settings.py Displays each storage root.
apps/cli/src/copilot_usage/main.py Settings menu lists all storage roots.
apps/cli/README.md New CLI README.
.gitignore Ignores .blameprompt/ staging.
Files not reviewed (1)
  • apps/vscode-extension/package-lock.json: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +24 to +29
if uri.startswith("file://"):
parsed = urlparse(uri)
parsed_path = parsed.path
if parsed.netloc:
parsed_path = f"//{parsed.netloc}{parsed_path}"
return url2pathname(unquote(parsed_path))
Comment on lines +20 to +25
candidates = [
base / "Code" / "User" / "workspaceStorage",
base / "Code - Insiders" / "User" / "workspaceStorage",
]
found = [p for p in candidates if p.exists()]
return found if found else [candidates[0]]
@@ -30,11 +31,10 @@ export class StatusBarManager implements vscode.Disposable {
if (e.affectsConfiguration('copilot-usage') || didAffectCopilotDebugLogSetting(e)) { this.refresh(); }
}),
);
for (const ws of results) {
const existing = merged.get(ws.workspaceId);
if (existing) {
existing.sessionFiles = [...new Set([...existing.sessionFiles, ...ws.sessionFiles])];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants