- 深入使用 @workspace 理解專案架構
- 掌握 Inline Edit (Ctrl+I) 快速修改技巧
- 理解 Inline Edit vs Chat Edit 使用時機
您接手了一個既有的電子商務購物車系統,需要理解其架構和運作方式。透過 GitHub Copilot 的 @workspace 功能,快速掌握整個專案的結構。
02-code-explanation/
├── README.md (本檔案)
├── index.html
├── js/
│ ├── cart.js (購物車邏輯)
│ ├── products.js (產品資料)
│ └── utils.js (工具函數)
└── style.css
@workspace 請分析這個購物車系統的架構,說明主要功能和檔案關係
使用模式:Ask
@workspace calculateTotal 函數的運作流程是什麼?它與哪些函數互動?
使用模式:Ask
@workspace 當使用者點擊「加入購物車」按鈕時,資料是如何在各個檔案間流動的?
使用模式:Ask
除了技術架構,@workspace 也能幫助理解業務邏輯:
@workspace 這個購物車系統支援哪些業務功能?有什麼功能是缺少但常見的電商功能?
使用模式:Ask
當需要向團隊說明系統時:
@workspace 幫我整理這個系統的功能清單,用表格方式呈現功能名稱、檔案位置、目前狀態
使用模式:Ask
- 開啟
js/utils.js - 在檔案最後加入詳細的 TODO 註解:
// TODO: 加入一個計算折扣的函數
// 函數名稱: calculateDiscount
// 參數: subtotal (小計金額)
// 邏輯: 滿 1000 打 95 折,滿 2000 打 9 折
// 回傳: 折扣後的金額- 在註解下方開始輸入
function calc - 暂停 1-2 秒,觀察灰色的 Ghost Text 建議
- 按
Tab接受建議,繼續輸入下一行 - Copilot 會根據註解自動完成整個函數
關鍵技巧:詳細的註解 = 更精準的程式碼生成
- 開啟
js/utils.js - 找到
calculateShipping函數(約第 10-16 行) - 選取整個函數內容(從 function 到結尾的 })
- 按
Ctrl+I(或Cmd+Ion Mac) - 輸入:
改成階梯式運費:500以下60元,500-1000收30元,1000以上免運
- 按 Enter 送出
- 檢視修改預覽,按
Ctrl+Enter接受
- 在
js/cart.js找到calculateTotal函數(約 137-146 行) - 選取整個 calculateTotal 函數
- 按
Ctrl+I - 輸入:
整合剛剛寫的 calculateDiscount 函數,在運費計算前先計算折扣
- 按 Enter,等待 AI 生成程式碼
- 按
Ctrl+Enter接受修改
- 開啟
index.html在瀏覽器中 - 加入商品到購物車
- 觀察:
- 運費隨金額變化(步驟 5 的效果)
- 滿額自動打折(步驟 6 的效果)
- 詳細註解:寫明函數名稱、參數、邏輯、回傳值
- 暂停等待:輸入幾個字後停 1-2 秒
- Tab 接受:看到灰色建議後按 Tab
- 逐行生成:可以一行一行接受或修改
- 選取程式碼 → Ctrl+I:針對選取範圍修改
- Ctrl+I 不選取:AI 會根據游標位置猜測範圍
- Enter:送出指令
- Ctrl+Enter:接受修改
- Esc:取消修改
- Inline Edit:定點修改,快速直接
- Chat Edit:探索修改,需要 AI 定位
- 理解既有系統:接手專案時快速掌握全貌(節省數小時文件閱讀)
- 產生各類文件:功能清單、API 文件、系統架構說明(減少 80% 文件時間)
- 跨團隊溝通:將程式碼邏輯轉換為業務語言,讓非技術人員也能理解
- @workspace 的專案理解能力
- Ghost Text 根據註解自動完成
- Inline Edit 的快速修改體驗
- 實際運行展示修改效果
- 掌握 @workspace 分析專案的能力
- 會使用註解引導 Ghost Text 生成程式碼
- 熟練使用 Inline Edit (Ctrl+I) 快速修改
- 了解 Ghost Text、Inline Edit、Chat Edit 的使用時機
- 能實際看到程式碼修改的效果
- 用 Inline Edit 修改其他函數
- 試試選取不同範圍使用 Ctrl+I 的差異
- 用 @workspace 找出可優化的地方
- 場景 3 將首次引入 Agent 模式
- 體驗 Agent 與 Ask/Edit 的根本差異