IDE 推薦的窗口布局
通常建議的佈局爲:左側爲管理區(如文件樹),中間爲代碼編輯器,右側爲 AI 助手。
在 JetBrains IDE 中,Amazon Q 的聊天窗口默認在右側。在 VSCode 中,默認的聊天窗口可能在左側管理區中,您可以把它拖到右側抽屜中。
IDE 插件功能介紹
全部開啟智能體編程是 Amazon Q 推薦的代碼編輯方式,它能夠通過自然語言下發任務,並自動進行文件讀寫,也可以在允許的情況下執行 Shell 命令。
IDE 插件中,聊天窗口左下角的藍色開關是智能體編程的開關,默認爲開啓狀態。
示例提示詞:
-
幫我調研一下當前項目的後端鑑權是如何實現的
-
參考已有的單元測試,幫 XX 文件編寫單元測試
-
給 XX 模塊添加 XX 功能
如果您不希望 AI 自動修改文件或執行命令,可以關閉此開關,關閉後 AI 只會在聊天中回答文本和代碼,不會直接對文件進行膝修改。
先選中一段代碼,然後可以使用右鍵菜單把代碼發送到聊天窗口執行一些快捷操作,如 解釋、優化、重構、修復等
需要注意:這裏的快捷操作是針對一小段代碼的修改,而非對整個項目的修改
方法 1:在聊天窗口中使用 @ 來引用額外的文件、文件夾等內容。您可以在輸入 @ 之後繼續輸入文件名來進行文件過濾。
方法 2:直接告訴 AI 文件名或路徑,智能體能夠主動讀取文件來引用額外內容。
適用場景:
-
明確告知 AI 需要修改的文件
-
明確告知 AI 需要讀取、參考的文件
詳見官方文檔
💾 保存常用提示詞 #
在 @ 上下文中可以選擇 Prompt 來保存或引用提示詞。提示詞會保存在 ~/.amazon/prompts/ 目錄中。
使用場景:將常用任務的提示詞保存起來以便複用,例如:
-
檢查代碼風格
-
添加函數描述
-
生成 Git 提交信息
-
掃描安全問題
將你的“最佳實踐”提示詞也存儲下來,方便隨時調用。
可以在當前目錄的 .amazonq/rules/ 目錄下創建 markdown 文件,設置規則。這些文件會被自動包含在每次聊天中。詳見文檔
示例:typescript.md
總是使用 TypeScript 而非 JavaScript。優先使用普通函數而非箭頭函數。
注意: 由於 LLM 可能丟失注意力,代碼規範可能無法 100% 遵循,建議在代碼審覈階段引入額外的檢查。
IDE 插件的常見問題
全部開啟由於上下文窗口的限制,目前的編程助手無法把整個代碼庫放入上下文窗口(也不建議,會有注意力丟失)。但是可以使用 本地 RAG 的方式來嘗試索引本地代碼庫,AI 能夠在本地對代碼進行切片和向量化,以便根據用戶的輸入來使用語義檢索相關的內容,不過會有額外的 CPU 和內存佔用。
在 Amazon Q 插件中,您可以使用 @workspace 來引用整個代碼庫,AI 會根據輸入的信息來檢索相關的代碼片段來回答問題。
需要注意:此功能第一次使用時需要花較長時間進行切片和建立索引,並會佔用 CPU 和內存。
除此之外,因爲智能體也能夠根據語義來主動查詢相關代碼文件(查看文件樹、基於文件名來查找相關文件、使用 Shell 搜索關鍵字來查找相關文件),所以絕大多數場景下不使用 @workspace 也可以滿足要求。
詳見官方文檔
Q. @workspace 可以修改代碼庫索引的大小嗎?
可以。默認情況下 索引 代碼庫的大小爲 250 MB,用戶可以在 IDE 設置中手動修改大小。調整完之後,不會造成 CPU 的壓力,但是會使用更多的內存。
默認情況下自動補全是啓用的狀態,您在書寫代碼時會自動觸發。您也可以使用快捷鍵 Alt+C (Windows) / Option+C (Mac)來手動觸發。
通常是由於 Q Developer 只生成了一個 suggestion。
因爲 Amazon Q 插件的 Inline Suggestion 使用方向鍵左右來切換推理選項。您可以在 IDE 的快捷鍵綁定中修改此快捷鍵。