feat: add repository cloning to project setup

Add project can clone repositories into a chosen folder
Command palette now opens the add project flow
Clone flow supports selecting Git identities
This commit is contained in:
Bohdan Triapitsyn
2026-05-07 01:10:17 +03:00
parent fd3557e5c3
commit d764ad6872
13 changed files with 419 additions and 126 deletions
+8 -4
View File
@@ -423,7 +423,7 @@ export const dict: Record<I18nKey, string> = {
'gitView.commit.addGitmoji': '添加 gitmoji',
'gitView.commit.aiHighlights.insertAria': '将高亮插入提交信息',
'gitView.commit.aiHighlights.insertTooltip': '将高亮追加到提交信息',
'gitView.commit.aiHighlights.title': 'AI 高亮',
'gitView.commit.aiHighlights.title': '重点',
'gitView.commit.commit': '提交',
'gitView.commit.commitAria': '提交',
'gitView.commit.committing': '提交中...',
@@ -1069,13 +1069,17 @@ export const dict: Record<I18nKey, string> = {
'directoryExplorerDialog.description': '选择一个文件夹添加为项目。',
'directoryExplorerDialog.toggle.showHidden': '显示隐藏项',
'directoryExplorerDialog.pathInput.placeholder': '输入路径或从树中选择...',
'directoryExplorerDialog.actions.cancel': '取消',
'directoryExplorerDialog.actions.openingFinder': '正在打开...',
'directoryExplorerDialog.actions.openInFinder': '在 Finder 中打开',
'directoryExplorerDialog.actions.adding': '添加中...',
'directoryExplorerDialog.actions.addProject': '添加项目',
'directoryExplorerDialog.actions.addLocalProject': '添加本地项目',
'directoryExplorerDialog.actions.cloneRepository': '克隆仓库',
'directoryExplorerDialog.actions.cloneAndAdd': '克隆并添加',
'directoryExplorerDialog.actions.cloning': '正在克隆...',
'directoryExplorerDialog.actions.createAndAdd': '创建并添加',
'directoryExplorerDialog.actions.alreadyAdded': '已添加',
'directoryExplorerDialog.clone.remoteUrlPlaceholder': '仓库 URL(HTTPS 或 SSH)',
'directoryExplorerDialog.browse.directories': '目录',
'directoryExplorerDialog.browse.loading': '正在加载目录...',
'directoryExplorerDialog.browse.empty': '没有匹配的目录。',
@@ -1084,13 +1088,13 @@ export const dict: Record<I18nKey, string> = {
'directoryExplorerDialog.footer.navigate': '导航',
'directoryExplorerDialog.footer.select': '选择',
'directoryExplorerDialog.footer.add': '添加',
'directoryExplorerDialog.footer.close': '关闭',
'directoryExplorerDialog.shortcut.enter': 'Enter',
'directoryExplorerDialog.toast.unableToAccessDirectory': '无法访问目录',
'directoryExplorerDialog.toast.desktopDeniedAccess': '桌面端拒绝了目录访问。',
'directoryExplorerDialog.toast.failedToOpenDirectory': '打开目录失败',
'directoryExplorerDialog.toast.desktopCouldNotGrantAccess': '桌面端无法授予文件访问权限。',
'directoryExplorerDialog.toast.failedToAddProject': '添加项目失败',
'directoryExplorerDialog.toast.cloneUrlRequired': '克隆前请输入仓库 URL。',
'directoryExplorerDialog.toast.selectValidDirectoryPath': '请选择有效的目录路径。',
'directoryExplorerDialog.toast.failedToSelectDirectory': '选择目录失败',
'directoryExplorerDialog.toast.unknownError': '发生未知错误。',
@@ -1106,7 +1110,6 @@ export const dict: Record<I18nKey, string> = {
'directoryTree.section.pinned': '已固定',
'directoryTree.section.browse': '浏览',
'aboutDialog.versionLabel': '版本 {version}',
'aboutDialog.tagline': '与智能体协作编码,在精心打造的工作区中完成。',
'aboutDialog.actions.copyDiagnostics': '复制诊断信息',
'aboutDialog.actions.preparingDiagnostics': '正在准备诊断信息...',
'aboutDialog.actions.diagnosticsCopied': '诊断信息已复制',
@@ -1615,6 +1618,7 @@ export const dict: Record<I18nKey, string> = {
'commandPalette.empty.searchingFiles': '正在搜索文件...',
'commandPalette.item.newSession': '新建会话',
'commandPalette.item.newWorktreeDraft': '新建工作树草稿',
'commandPalette.item.addProject': '添加项目',
'commandPalette.item.showSessionSwitcher': '显示会话切换器',
'commandPalette.item.toggleSidebar': '切换侧边栏',
'commandPalette.item.toggleRightSidebar': '切换右侧边栏',