情境提及
在 Bob 對話中使用 @ 提及直接參照專案的特定元素,以獲得精確、情境感知的協助。
提及類型
透過情境提及,您可以參照專案的各種元素:
| 提及類型 | 格式 | 說明 | 使用範例 |
|---|---|---|---|
| 檔案 | @/path/to/file.ts | 在請求情境中包含檔案內容 | 解釋 @/src/utils.ts 中的函式 |
| 資料夾 | @/path/to/folder | 包含資料夾中所有檔案的內容(非遞迴) | 分析 @/src/components 中的程式碼 |
| 問題 | @problems | 包含 IBM Bob 問題面板診斷 | @problems 修復我程式碼中的所有錯誤 |
| 終端機 | @terminal | 包含最近的終端機指令和輸出 | 修復 @terminal 中顯示的錯誤 |
| Git 提交 | @a1b2c3d | 透過雜湊值參照特定提交 | 提交 @a1b2c3d 中有什麼變更? |
| Git 變更 | @git-changes | 顯示未提交的變更 | 為 @git-changes 建議一個訊息 |
| URL | @https://example.com | 匯入網站內容 | 總結 @https://docusaurus.io/ |
檔案提及
檔案提及是最常用的類型,讓您能夠在與 Bob 的對話中包含特定檔案的內容。
| 功能 | 詳細資訊 |
|---|---|
| 格式 | @/path/to/file.ts(始終從工作區根目錄以 / 開頭) |
| 提供 | 包含行號的完整檔案內容 |
| 適用於 | 文字檔案、PDF 和 DOCX 檔案(具有文字擷取功能) |
| 適用情境 | 初始請求、回饋回應和後續訊息 |
| 限制 | 非常大的檔案可能會被截斷;不支援二進位檔案 |
對於大型檔案,您可以透過使用檔案路徑後跟行號來提及特定區段,例如 @/src/app.js:10-20 僅包含第 10-20 行。
資料夾提及
透過資料夾提及,您可以一次參照多個檔案,從目錄提供更廣泛的情境。
| 功能 | 詳細資訊 |
|---|---|
| 格式 | @/path/to/folder(無尾隨斜線) |
| 提供 | 目錄中所有檔案的完整內容 |
| 包含 | 資料夾中直接包含的非二進位文字檔案內容(非遞迴) |
| 最適合 | 從目錄中的多個檔案提供情境 |
| 提示 | 提及大型目錄時請注意情境視窗限制 |
資料夾提及是非遞迴的,這意味著它們僅包含指定資料夾中的檔案,而不包含子資料夾中的檔案。
問題提及
問題提及會從 IBM Bob 的問題面板匯入診斷,協助您一次解決多個問題。
| 功能 | 詳細資訊 |
|---|---|
| 格式 | @problems |
| 提供 | IBM Bob 問題面板中的所有錯誤和警告 |
| 包含 | 檔案路徑、行號和診斷訊息 |
| 分組 | 按檔案組織問題以提高清晰度 |
| 最適合 | 修復錯誤而無需手動複製 |
使用範例: @problems 你能幫我修復所有這些問題嗎?
終端機提及
終端機提及會擷取最近的指令輸出,協助您除錯建置錯誤或分析指令結果。
| 功能 | 詳細資訊 |
|---|---|
| 格式 | @terminal |
| 擷取 | 最後一個指令及其完整輸出 |
| 保留 | 終端機狀態(不清除終端機) |
| 限制 | 限於可見的終端機緩衝區內容 |
| 最適合 | 除錯建置錯誤或分析指令輸出 |
在疑難排解建置失敗時,嘗試
@terminal 有什麼問題? 以立即深入了解錯誤,而無需手動複製輸出。
Git 提及
Git 提及透過參照提交和變更來協助您處理版本控制。
| 類型 | 格式 | 提供 | 限制 |
|---|---|---|---|
| 提交 | @a1b2c3d | 提交訊息、作者、日期和完整差異 | 僅適用於 Git 儲存庫 |
| 工作變更 | @git-changes | git status 輸出和未提交變更的差異 | 僅適用於 Git 儲存庫 |
使用範例: @a1b2c3d 的目的是什麼? 或 為 @git-changes 建議一個提交訊息
URL 提及
URL 提及讓您能夠在與 Bob 的對話中參照外部網頁內容。
| 功能 | 詳細資訊 |
|---|---|
| 格式 | @https://example.com |
| 處理 | 使用無頭瀏覽器擷取內容 |
| 清理 | 移除指令碼、樣式和導覽元素 |
| 輸出 | 將內容轉換為 Markdown 以提高可讀性 |
| 限制 | 複雜頁面可能無法完美轉換 |
URL 提及對於參照文件很有用。
嘗試 你能解釋 @https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise 嗎 以在官方文件作為情境的情況下獲得理解概念的協助。
使用情境提及
在聊天輸入中輸入 @ 以觸發建議下拉式選單。
繼續輸入以篩選建議,或使用方向鍵導覽。
使用 Enter 鍵或滑鼠點擊選擇。
在請求中結合多個提及:「修復 @/src/component.ts 中的 @problems」
突顯文字並使用鍵盤快速鍵 ⌘ + L 將其新增至聊天。
下拉式選單會自動建議:
- 最近開啟的檔案
- 可見的資料夾
- 最近的 git 提交
- 特殊關鍵字(
problems、terminal、git-changes) - 所有目前開啟的檔案(無論忽略設定或目錄篩選器如何)
下拉式選單會自動篩選掉常見目錄,例如 node_modules、.git、dist 和 out 以減少雜訊,即使您可以在手動輸入時包含它們的內容。
您可以在單一請求中結合多個提及。嘗試 比較 @/src/v1/api.js 與 @/src/v2/api.js 並解釋差異。
重要行為
忽略檔案互動
情境提及在與忽略的檔案互動時具有特定行為:
| 行為 | 說明 |
|---|---|
.bobignore 繞過 | 檔案和資料夾 @mentions 在擷取情境內容時會繞過 .bobignore 檢查。如果直接提及,將包含來自忽略檔案的內容。 |
.gitignore 繞過 | 同樣地,檔案和資料夾 @mentions 在擷取內容時不遵守 .gitignore 規則。 |
| Git 指令遵守 | Git 相關提及(@git-changes、@commit-hash)會遵守 .gitignore,因為它們依賴 Git 指令。 |
情境提及會繞過忽略規則,因此您可以參照通常會被 Bob 或 Git 忽略的特定檔案。此功能在您需要討論產生的檔案或其他通常被忽略的內容時特別有用。
整合應用
情境提及透過提供對專案元素的精確參照來增強您與 Bob 的互動。您可以直接參照您正在討論的內容,而不是複製和貼上程式碼或描述檔案位置。
不同提及類型的有效組合:
修復 @/src/components 中的 @problems 並解釋有什麼問題檢閱 @git-changes 並建議改進比較 @/v1/api.js 與 @https://api-docs.example.com 並檢查不一致之處
透過有效使用情境提及,您可以更精確地與 Bob 溝通,並獲得更有針對性的協助。