Skip to content

Conversation

@DonJayamanne
Copy link
Collaborator

No description provided.

@DonJayamanne DonJayamanne self-assigned this Jan 23, 2026
@DonJayamanne DonJayamanne changed the title Untitled repository picker for background sessions Welcome View: repository picker for background sessions Jan 23, 2026
@DonJayamanne DonJayamanne marked this pull request as ready for review January 23, 2026 14:08
Copilot AI review requested due to automatic review settings January 23, 2026 14:08
@vs-code-engineering vs-code-engineering bot added this to the January 2026 milestone Jan 23, 2026
Copy link
Contributor

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

This PR adds a repository picker for background (CLI) sessions when working in untitled workspaces (i.e., when no workspace folders are open). The changes enable users to select from recently-used repositories or open a new repository via a file picker command.

Changes:

  • Added getRecentRepositories() method to IGitService interface to retrieve recently accessed repositories from the Git extension
  • Introduced RepositoryAccessDetails interface to represent repository access metadata (root URI and last access time)
  • Added commands property to ChatSessionProviderOptionGroup in the VS Code proposed API to support custom commands in option groups
  • Implemented repository selection UI for untitled workspaces with last 10 recently-used repositories and an "Open Repository" command

Reviewed changes

Copilot reviewed 9 out of 11 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/platform/git/vscode/git.d.ts Added RepositoryAccessDetails interface, recentRepositories property to API, and removed duplicate readonly kind property
src/platform/git/common/gitService.ts Added getRecentRepositories() method signature to IGitService interface and reordered imports
src/platform/git/vscode/gitServiceImpl.ts Implemented getRecentRepositories() method to return recent repositories from Git extension API
src/platform/test/node/simulationWorkspaceServices.ts Added mock implementation of getRecentRepositories() returning empty array
src/platform/ignore/node/test/mockGitService.ts Added mock implementation of getRecentRepositories() returning empty array
src/extension/prompt/node/test/repoInfoTelemetry.spec.ts Added getRecentRepositories mock to test's IGitService mock
src/extension/vscode.proposed.chatSessionsProvider.d.ts Added optional commands property to ChatSessionProviderOptionGroup
src/extension/chatSessions/vscode-node/copilotCLIChatSessionsContribution.ts Implemented untitled workspace repository selection logic, added getRepositoryOptionItemsForUntitledWorkspace() method, registered "Open Repository" command, and updated toRepositoryOptionItem() to handle both RepoContext and Uri types
src/extension/chatSessions/vscode-node/chatSessions.ts Passed contentProvider to registerCLIChatCommands() for command registration
package.json Registered github.copilot.cli.sessions.openRepository command with menu contribution
package.nls.json Added localization string for "Open Repository" command

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