使用 GitHub Copilot 聊天產生程式碼
GitHub Copilot Chat 擴充套件適用於 Visual Studio Code,並支援以下聊天介面:
聊天檢視提供 AI 助理,隨時可協助您。
[ 快速聊天 ] 視窗可用來詢問快速問題,然後回到您正在執行的動作。
在撰寫程式代碼時, 內嵌聊天 介面會直接在編輯器中開啟,以進行內容互動。
[聊天] 視圖和 [快速聊天] 視窗可讓您與 AI 進行互動式多回合對話。 這兩個介面都提供詢問問題、取得編碼問題的協助,以及產生程式碼的方法。 [聊天] 檢視是更健全的介面,可提供完整的聊天體驗,而 [快速聊天] 視窗則是專為快速互動所設計。
內嵌聊天介面的設計目的是在撰寫程式代碼時提供內容相關說明和程式代碼建議。 內嵌聊天介面可在編輯器中使用,可讓您詢問問題並取得特定代碼段的說明。
使用聊天檢視產生程序代碼
聊天檢視會為您與 AI 配對程式設計人員之間的對話提供受控環境。 您可以使用 [聊天] 檢視來詢問問題、取得程式碼問題的協助,以及產生程式代碼。 聊天檢視的設計目的是比內嵌聊天介面更具互動性和交談體驗。
預設情況下,聊天視窗位於 Visual Studio Code 視窗右側的次要側邊欄。
聊天視窗支援三個內建代理: 詢問、 計畫和 代理。 你可以在聊天視窗中從經紀人選擇器中選擇一位經紀人。
使用 Ask 代理程式來產生程式碼
Ask 代理程式設計用來協助你分析程式碼並調查新功能選項,然後再建議程式碼實作。 使用 Ask 代理時,GitHub Copilot 會像對話助理一樣,能回答你的問題,並協助你解決程式問題或新功能。
打開聊天視窗,從經紀人選擇器中選擇 「詢問 」。
為聊天添加背景資訊。
Ask 代理支援聊天參與者、斜線指令及聊天變數。 您可以新增 聊天參與者或 其他對象至聊天中,以提供背景資訊及附加檔案或資料夾。
詢問可協助您評估要實作之新功能的問題。
例如,你可以請GitHub Copilot幫你了解如何實作新功能或如何使用特定的函式庫。
- 如何新增登入頁面?
- 使用 React 的最佳做法為何?
- 如何使用庫?
建構描述您要實作之程序代碼功能的提示。
您的提示應該包含您想要實作的程式代碼功能描述。 例如:
Create the code to obtain a book title. Prompt the user to "Enter a book title to search for". Read the user input and ensure the book title isn't null.在 [聊天] 檢視中檢視建議的程序代碼。
在 [聊天] 檢視中顯示的回應應該包含代碼段,您可以用來實作此功能。 您可以輸入更多提示來精簡程式代碼,或要求更多詳細數據。
若要實作建議的程序代碼,您可以將滑鼠指標暫留在代碼段上,然後在 [ 套用]、[ 插入] 和 [ 複製 ] 選項之間選取。
- 套用:將編輯器中的程式代碼建議套用至目前檔案。
- 插入:在編輯器中目前游標位置插入程式代碼建議。
- 複製:將程式代碼建議複製到剪貼簿。
截圖顯示聊天視窗,Ask 客服建議更新程式碼。
如果需要,可以繼續反覆修改和優化新功能,並運用更多提示。
在編碼前先用 Plan agent 進行規劃
Plan 代理程式的設計目的是幫助你在撰寫任何程式碼前先研究並規劃任務。 當你使用 Plan 代理時,GitHub Copilot 會分析你的程式碼庫,提出澄清問題,並建立結構化的逐步實施計畫。 計畫最終確定後,你可以將其交給執行代理人。
打開聊天視圖,從代理選擇器中選擇「計劃」。
為聊天添加背景資訊。
Plan 代理使用唯讀工具與程式碼庫分析來研究你的任務。 你可以在聊天室新增檔案和資料夾,提供更多上下文。
設計一個描述你想規劃任務的提示。
你的提示應包含你想實作的功能或任務描述。 例如:
Implement a user authentication system with OAuth2 and JWT.回答保險代理人提出的任何澄清問題。
計畫代理人會研究你的任務,並可能提出問題以解決模糊之處,然後再擬定計畫。
檢視擬議的計畫。
計畫代理人提供高層次摘要、實施步驟細分、驗證標準及文件化決策。 你可以透過回饋來反覆修改計畫。
計畫最終確定後,請使用按鈕開始執行或在編輯器中開啟計畫進行進一步檢視。
你可以選擇在同一聊天會話中實作計畫,或啟動背景或雲端代理會話,自主著手完成實作。
使用 Agent 來產生程式碼
當你在代理模式下使用GitHub Copilot時,GitHub Copilot 會自動代理,代表你採取行動。 你可以請GitHub Copilot執行特定任務,它會根據你的請求產生程式碼。
這很重要
使用代理模式時,GitHub Copilot可能會多次提出高級請求以完成單一任務。 Premium 要求可用於由使用者起始的提示,以及 GitHub Copilot 代表您採取的後續動作。 所使用的進階要求總數取決於工作的複雜度、所涉及的步驟數目,以及選取的模型。
打開聊天視窗,從代理人選擇器中選擇 代理人 。
設計一個提示,描述你想GitHub Copilot執行的任務。
例如,你可能會請GitHub Copilot產生新功能或創建全新的應用程式。
- 使用 React 和 Node.js 建立餐飲規劃 Web 應用程式
- 新增社交媒體共用功能
- 以 OAuth 取代目前的驗證
代理可能會調用多種工具來完成不同的任務。 您可以選擇性地選取 [工具] 圖示,以設定哪些工具可用來回應您的要求。
確認工具呼叫和命令行命令。
在 GitHub Copilot 執行非內建的終端機指令或工具之前,會請求確認是否繼續。 GitHub Copilot 會要求確認,因為工具可能在你的機器上本地執行,並執行修改檔案或資料的動作。
GitHub Copilot 偵測程式碼編輯與終端指令中的問題,並會迭代並執行解決的行動。
當GitHub Copilot處理你的請求時,會直接在編輯器中串流建議的程式碼編輯。
檢閱建議的編輯,並接受或捨棄建議的編輯。
如果需要,可以繼續反覆修改和優化新功能,並運用更多提示。
使用內嵌聊天會話產生程序代碼
內嵌聊天會話可用來分析和產生程序代碼。 只有在程式代碼編輯器中開啟檔案時,才能存取內嵌聊天介面。 它可用來分析選取的程式代碼,或根據提示建立新的程序代碼。
在編輯器中開啟檔案。
使用 Ctrl+I 鍵盤快捷鍵或在標題欄的聊天選單中選擇 「開啟內嵌聊天 」即可開啟內嵌聊天會話。
內嵌聊天工作階段會在編輯器中的游標位置開啟。
在編輯器中選取程式代碼區塊。
選取的程式代碼會當做提示的內容使用。 如果未選取任何程式代碼,提示會使用整個檔案做為內容。
在 [聊天輸入] 欄位中輸入您的提示。
例如:
Update selection to include an option for the `CommonActions.SearchBooks` action. Use the letter "b" and the message "to check for book availability".程式碼更新建議會在編輯器中以差異檔顯示。
檢視建議的程式碼更新,然後接受或捨棄這些變更。
顯示內嵌聊天會話更新程式代碼的螢幕快照。
如果需要,可以繼續反覆修改和優化新功能,並運用更多提示。
總結
GitHub Copilot Chat 提供一套強大的工具,用於產生程式碼並協助程式任務。 聊天檢視、快速聊天視窗和內嵌聊天會話都提供與 AI 配對程式設計人員互動的不同方式,並取得編碼問題的協助。 藉由有效地使用這些工具,您可以改善編碼生產力和效率。