Skip to content

feat(ui): 分支切換改為狀態列+側欄雙入口,並精簡 Git Graph 工具列 #329

Description

@yw-chan

問題

Git Graph 工具列目前把三種性質不同的控制項擠在同一排,遇到長分支名會互相推擠、甚至撐爆版面:

  • 「分支」下拉(檢視篩選)跟右側「HEAD: 分支名」(切換分支)撞名,看不出各自的作用
  • Worktree 下拉的 label 是「資料夾名 (完整分支名)」,分支名一長就佔掉大半排,且功能與狀態列 worktree 管理器的「開啟」重複
  • 「HEAD: 分支名」文字按鈕佔一長條空間

另外,目前全 app 沒有「隨時看得到目前分支」的地方:原始碼控制側欄雖有一行分支名,但只是純文字、不能操作;側欄收起時什麼都看不到。

Image (圖1:工具列現況與提案 A/B)

提案

1. Git Graph 工具列瘦身(只留檢視類控制)

  • 移除「HEAD: 分支名」按鈕與 Worktree 下拉(功能由下述入口與既有 worktree 管理器承接)
  • 「分支」下拉改名「篩選」,與「切換分支」語意區分
  • 篩選控制項為固定寬度(約工具列左半的 50%),選中的分支名過長時截斷顯示,不隨字數改變寬度;選了特定分支時高亮提示
  • 「顯示遠端分支」開關有兩案(見圖1,擇一):
    • A 案:留在工具列原位
    • B 案:收進 ⚙ 顯示選項(與 compact 模式行為統一)

2. 分支切換入口 × 2,共用同一個置中面板

  • 底部狀態列新增「分支指示器」(名稱過長截斷,tooltip 顯示全名),常駐可見、無 repo 時隱藏——不開側欄也隨時知道目前分支
Image (圖2:狀態列分支指示器)
  • 原始碼控制側欄現有的分支文字列改為可點按鈕
Image (圖3:側欄分支列前後對照)
  • 兩個入口點擊都開啟視窗置中的分支面板,呈現方式同 Ctrl+P 檔案搜尋:頂端搜尋框輸入即過濾;本地分支直接 checkout、遠端分支(分隔線下)跳「建立追蹤分支」、被其他 worktree 佔用的分支反灰並標註所在位置
Image (圖4:置中分支面板)

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions