檢視 GitHub Copilot 的嵌入式聊天、智能操作和快速聊天
除了聊天檢視之外,GitHub Copilot Chat 還提供數種其他方式來與 AI 配對程式設計人員互動。 其中包括內嵌聊天、智能操作和快速聊天。
內嵌聊天
GitHub Copilot Chat 的一個關鍵功能是在您編碼時線上回答問題。 這允許您在程式碼編輯器中直接利用 AI 的力量,對開發工作流程的干擾最小。
只有在編輯器中開啟檔案時,才能存取內嵌聊天功能。 有數種方式可以開啟內嵌聊天工作階段:
- 從 [Copilot 聊天] 功能表中選取 [編輯器內嵌聊天]。
- 使用鍵盤快速鍵:Ctrl+I。
- 在程式碼編輯器內按下滑鼠右鍵,從內容功能表中選取 Copilot,然後選取 編輯器內嵌聊天。

您可以在撰寫或反覆運算程式代碼時,使用內嵌聊天會話來詢問 Copilot 問題。
開啟內嵌聊天工作階段時,[編輯器] 中將顯示以下介面。

試想以下情況:
- 您正在開發處理數值清單的 C# 應用程式。 資料會以 100 個批次處理。
- 您可以使用下列代碼段來建立介於 1 到 1000 之間的 100 個隨機整數清單,以供測試使用。
// create a list of 100 random number between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
for (int i = 0; i < 100; i++)
{
numbers.Add(random.Next(1, 1000));
}
程式代碼正常運作。 但是,如果需求發生變更怎麼辦? 如果您需要確保清單中沒有任何重複的數字,該怎麼辦?
若要使用 GitHub Copilot 自動完成來更新您的程式碼,您需要:
- 刪除現有的程式碼。
- 建立反映您更新的需求之新註解。
- 使用 GitHub Copilot 從更新的註解中產生新程式碼片段。
- 檢閱建議並選取最佳選項。
幸運的是,這沒有必要。 更好的解決方案是使用 GitHub Copilot Chat 來建議所需的程式碼更新。
您可以使用內嵌聊天工作階段來建議程式碼更新,如下所示:
- 醒目提示要更新的程式碼片段。
- 按
Ctrl+I來開啟內嵌聊天。 - 詢問 GitHub Copilot Chat 如何完成更新。
- 檢閱建議並選取最佳選項。
在此情況下,您可以詢問:Update this code to ensure that numbers doesn't include any duplicates
如果您喜歡提議的程式碼更新,可以選取 [接受] 並繼續編碼。

如果您不喜歡提議的更新,您可以選取 [重新執行...] 圖示,要求 Copilot Chat 產生另一個建議。 [重新執行] 圖示會顯示為圓形箭號,顯示在提示文字輸入框的下方。
如果您重新執行提示,但仍無法取得您需要的結果,請嘗試使用其他內容更新您的提示。 當提示清楚、簡潔且準確時,Copilot Chat 會產生更好的建議。 您可以選擇 [捨棄] 來關閉內嵌聊天,而不必進行任何變更。
智慧動作
有些工作非常常見,可以自動化。 GitHub Copilot Chat 包括智慧動作,使您無需撰寫提示即可完成某些工作。 智慧動嘴是預先定義的動作,您可以直接從 Visual Studio Code 編輯器執行這些動作,以便快速輕鬆地執行常見編碼工作。
以下智慧動作可用:
- 解說:
Explain動作會產生所選程式碼的自然語言描述。 這對於理解程式碼片段的用途和功能非常實用。 如果您正在使用不熟悉的程式碼,或者需要向其他人解釋程式碼,那麼Explain動作尤其實用。 - 修正:
Fix動作會針對所選程式碼建議修正程式。 如果您在程式碼中遇到錯誤或問題,並且需要如何解决該問題的指導,這將非常實用。 Copilot Chat 可以建議對變數、控制結構或函式呼叫進行變更,以解决問題。 - 檢閱和註解:
Review and Comment動作會提供所選程式碼的程式碼檢閱。 這適用於識別潛在問題、改善程式碼品質,以及確保遵循最佳做法。Review and Comment動作可協助您識別程式碼中的 Bug、效能瓶頸和安全性弱點。 - 產生文件:
Generate Docs動作會為所選程式碼建立文件。 這對於記錄您的程式碼非常實用,尤其是當您與多個參與者協作專案或需要與其他人共用您的程式碼時。 - 產生測試:
Generate Tests動作會為所選程式碼建立單元測試。 這有助於確保程式碼的正確性和可靠性,尤其是當您處理具有複雜邏輯或關鍵功能的專案時。
若要存取智慧動作,請以滑鼠右鍵按一下編輯器中的程式碼片段,然後從 Copilot 快顯功能表中選取所需動作。

讓我們再次考慮質數應用程式。
在上一節中,內嵌聊天建議下列程式碼,以確保 numbers 不包含任何重複項目:
// create a list of 100 random numbers between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
雖然此程式碼可確保唯一元素的集合,但可能會有改進的機會。
您可以使用 [檢閱此項目] 智慧動作來檢查程式碼選取項目。 若要使用 [檢閱此項目] 智慧動作:
選取需要檢閱的程式碼片段。 在此情況下,會是產生亂數清單的程式碼。
從 Copilot 快顯功能表中選取 [檢閱此項目]。
檢閱建議的更新,然後選取 [接受] 以套用變更。
針對產生亂數的程式碼片段,[檢閱此項目] 智慧動作會建議下列各項:
- 使用
100的容量初始化List<int> numbers,以避免在母體擴展期間多次重設大小。 - 檢查重複項目時,使用
HashSet<int>而非List<int>,以更快地進行查閱。
在此情況下,[檢閱此項目] 智慧動作會引導您使用 HashSet<int> 而非 List<int> 以改善效能。
// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
int sum = addPrimeNumbersInNumericList(numbers);
Console.WriteLine(sum);
雖然使用 HashSet 可有效率地確保唯一元素的集合,但更新會產生新的問題。 addPrimeNumbersInNumericList 方法預期 List<int> 作為輸入,但更新的程式碼會建立 HashSet<int>。 這會導致下列編譯錯誤:

幸運的是,您可以使用 [修正] 智慧動作來修正該錯誤。 若要使用 [修正] 智慧動作:
以滑鼠右鍵按一下需要修正的程式碼片段。 在這種情況下,程式碼以紅色底線顯示。
從 Copilot 捷徑功能表中選取 [修正]。
檢閱建議的修正程式,然後選取 [接受] 以套用變更。
Fix 智慧動作會產生一或多個修正錯誤的建議。 在這裡情況下,其中一個建議會使用 ToList() 方法,將 HashSet 轉換成對 addPrimeNumbersInNumericList 呼叫內的 List。 產生的程式碼看起來會類似下列程式碼片段:
// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
int sum = addPrimeNumbersInNumericList(numbers.ToList());
Console.WriteLine(sum);
和往常一樣,請檢閱 Copilot Chat 提供的建議。 也許有更好的解決方案。 您可以選取 [接受] 以使用提議的修正程式來更新代碼。
快速聊天
GitHub Copilot Chat 為聊天互動提供的第三個選項是快速聊天。
當您想與 AI 進行快速互動交談時,您可以使用 GitHub Copilot Chat 的快速聊天功能。 當您試圖解决問題、需要協助理解一段程式碼或想集思廣益時,這可能很實用。 它的設計讓您感覺自己是在和開發人員聊天,使其成為共同解决問題的好工具。
若要開啟 [快速聊天] 視窗,您可以在 Visual Studio Code 編輯器中按 Ctrl+Shift+Alt+L,也可以從 [Copilot 聊天] 功能表開啟 [快速聊天]。

總結
GitHub Copilot Chat 提供數種方式來與 AI 配對程式設計人員互動,包括內嵌聊天、智慧動作和快速聊天。 這些功能可讓您詢問問題、取得程式碼建議,以及快速且輕鬆地執行常見的程式代碼撰寫工作。