-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Welcome View: repository picker for background sessions #3103
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 toIGitServiceinterface to retrieve recently accessed repositories from the Git extension - Introduced
RepositoryAccessDetailsinterface to represent repository access metadata (root URI and last access time) - Added
commandsproperty toChatSessionProviderOptionGroupin 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 |
No description provided.