feat: Redesign git changes to split stage/unstaged files. (#1359)

* feat: Redesign git changes to split stage/unstaged files.

Signed-off-by: Paolo Insogna <paolo@cowtech.it>

* fixup

Signed-off-by: Paolo Insogna <paolo@cowtech.it>

* fixup

Signed-off-by: Paolo Insogna <paolo@cowtech.it>

* refactor: streamline git changes panel

* fix: label staged and working diff tabs

* fix: isolate staged and working diff files

* fix: scope staged and working diff updates

* fix: scope git row revert to working changes

---------

Signed-off-by: Paolo Insogna <paolo@cowtech.it>
Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
Paolo Insogna
2026-05-24 00:49:38 +03:00
committed by GitHub
co-authored by Bohdan Triapitsyn
parent 9af0de0056
commit e16097b05d
42 changed files with 2987 additions and 923 deletions
@@ -452,8 +452,16 @@ export const dict: Record<I18nKey, string> = {
'gitView.changes.reverting': '正在还原...',
'gitView.changes.selectAllAria': '全选文件',
'gitView.changes.selectFileAria': '选择 {path}',
'gitView.changes.stagedTitle': '已暂存',
'gitView.changes.resizeSplitAria': '调整已暂存和未暂存更改区域大小',
'gitView.changes.stageAllAria': '暂存所有更改',
'gitView.changes.stageDirectoryAria': '暂存 {path} 中的所有更改',
'gitView.changes.stageFileAria': '暂存 {path}',
'gitView.changes.title': '更改',
'gitView.changes.toggleDirectorySelectionAria': '切换目录 {path} 的选择',
'gitView.changes.unstageAllAria': '取消暂存所有更改',
'gitView.changes.unstageDirectoryAria': '取消暂存 {path} 中的所有更改',
'gitView.changes.unstageFileAria': '取消暂存 {path}',
'gitView.commit.addGitmoji': '添加 gitmoji',
'gitView.commit.aiHighlights.insertAria': '将高亮插入提交信息',
'gitView.commit.aiHighlights.insertTooltip': '将高亮追加到提交信息',
@@ -468,6 +476,7 @@ export const dict: Record<I18nKey, string> = {
'gitView.commit.pushAria': '提交并同步',
'gitView.commit.pushing': '同步中...',
'gitView.commit.selectFilesHint': '在“更改”中选择文件以启用提交。',
'gitView.commit.stageFilesHint': '暂存文件以启用提交。',
'gitView.commit.title': '提交',
'gitView.common.cancel': '取消',
'gitView.common.close': '关闭',
@@ -776,15 +785,21 @@ export const dict: Record<I18nKey, string> = {
'gitView.toast.revertedFilesSingle': '已回退 {count} 个文件',
'gitView.toast.revertedSomePlural': '已回退 {success} 个文件,{failed} 个失败',
'gitView.toast.revertedSomeSingle': '已回退 {success} 个文件,{failed} 个失败',
'gitView.toast.stageFileFailed': '暂存更改失败',
'gitView.toast.stageFileToCommit': '请至少暂存一个文件再提交',
'gitView.toast.stageFileToDescribe': '请至少暂存一个文件再生成描述',
'gitView.toast.selectFileToCommit': '请至少选择一个文件再提交',
'gitView.toast.selectFileToDescribe': '请至少选择一个文件再生成描述',
'gitView.toast.stashedRestored': '已恢复储藏的更改',
'gitView.toast.syncActionFailed': '{action} 失败',
'gitView.toast.unstageFileFailed': '取消暂存更改失败',
'gitView.toast.upstreamSet': '已将 {branch} 的上游设置为 {remote}',
'gitView.worktree.availableInWorktreeMode': '仅在工作树模式下可用',
'contextPanel.mode.chat': '聊天',
'contextPanel.mode.files': '文件',
'contextPanel.mode.diff': '差异',
'contextPanel.mode.stagedDiff': 'Staged Diff',
'contextPanel.mode.workingDiff': 'Working Diff',
'contextPanel.mode.plan': '计划',
'contextPanel.mode.context': '上下文',
'contextPanel.mode.preview': '预览',