檢查 GitHub Copilot 的程式代碼完成功能

已完成

當您輸入程式碼時,GitHub Copilot 會提供自動完成樣式的建議。 當您執行下列動作時,會收到自動完成樣式的建議:

  • 在編輯器中輸入部分或完整的程式代碼行。
  • 在編輯器中輸入部分或完整的程式代碼批注。
  • 在編輯器中輸入空白代碼行。

產生自動完成建議

GitHub Copilot 會根據您撰寫的程式代碼來建議程式代碼完成,以加速應用程式開發。

例如,假設您想要建立名為 addInt 的 C# 方法,以傳回兩個整數的總和。 如果您開始輸入方法簽章,GitHub Copilot 會建議其認為您想要建立的程式碼。

顯示自動完成新增兩個數字的螢幕快照。

會顯示建議的自動完成,但不以彩色語法醒目提示。 這有助於區分自動完成與現有的程式碼。 您可以按 Tab 鍵來接受建議的程式代碼。

顯示已接受自動完成建議的螢幕快照。

您可以按 Esc 鍵來關閉建議。

addInt 範例有點簡單,因此您可能想知道 GitHub Copilot 如何處理更複雜的專案。

假設您想要建立接受數字清單的方法,並傳回清單中包含的質數總和。 您可以將方法命名為 addPrimeNumbersInNumericList。 當您開始輸入方法簽章時,GitHub Copilot 會為您產生建議。 例如:

顯示在清單中新增質數的方法自動完成的螢幕擷取畫面。

請務必先檢閱建議再接受建議。 此自動完成看起來不錯,因此您可以按 Tab 鍵接受建議。

讓我們繼續進一步探討這個情境。

一旦建議合併到您的程式代碼中,您就會注意到 isPrime 方法會以紅色加上底線。 這是因為程式代碼中還沒有 isPrime 方法。

螢幕快照顯示 addPrimeNumbersInNumericList 方法已整合到程式代碼中,isPrime 以紅色底線標示。

GitHub Copilot 已定型以遵循最佳做法,包括將複雜問題分解成更小、更容易管理的片段。 在此情況下,GitHub Copilot 建議您建立個別的 isPrime 方法來檢查數位是否為質數。

GitHub Copilot 已準備好為 isPrime 方法提供程式碼片段。 當您在 addPrimeNumbersInNumericList 方法下方輸入空白行時,GitHub Copilot 會建議您可以使用的 isPrime 方法。

顯示自動完成新增 isPrime 方法的螢幕擷取畫面。

自動完成建議會藉由提供程式碼片段來加速開發過程。 但是,如果建議不完全是你需要的呢? GitHub Copilot 提供一個介面來管理自動完成建議。

管理自動完成建議

當 GitHub Copilot 建議自動完成時,它也提供管理建議的介面。 您可以接受建議、檢閱其他建議,或關閉建議。

當您將滑鼠指標暫留在建議的自動完成上方時,您會看到數個選項可管理建議。

顯示自動完成建議 [接受] 選項的螢幕快照。

管理建議的預設介面包含下列選項:

  • 選取 [ 接受] 以接受建議(完整)。 您也可以按 Tab 鍵來接受建議。
  • 選取接受 Word以部分接受建議。 您也可以按 Ctrl + > 鍵部分接受建議。
  • 選取 ><來檢視替代建議。 您也可以按 Alt + ]Alt + [ 鍵來檢視替代建議。

選擇接受 Word選項,將接受建議中的下一個單詞。 當您想要接受建議的一部分,然後繼續輸入您自己的程式代碼時,這會很有用。 例如,您可以接受 isPrime 方法建議的第一個字。

顯示 [接受字組] 選項進行中之自動完成建議的螢幕擷取畫面。

繼續選取 [接受字組],直到您接受想要的建議為止。

選取 [接受字組] 按鈕右側的省略符號 (...) 圖示,提供 [接受行]、[一律顯示工具列] 和 [開啟完成面板] 的選項。

顯示額外的 [接受行] 和 [一律顯示工具列] 選項之自動完成建議的螢幕擷取畫面。

選擇 接受行 選項,便可接受整行的建議。 選取 [ 永遠顯示工具列] 選項可確保使用快速鍵來管理自動完成建議時,工具列仍保持可見。 選取 [ 開啟完成面板 ] 選項會開啟 [GitHub Copilot 完成頁籤]。本單元結尾將涵蓋如何使用 [GitHub Copilot 完成頁籤] 來檢視多個建議。

從批注產生程式代碼建議

除了根據程式碼建議自動完成之外,GitHub Copilot 還可以使用程式碼註解來建議程式碼片段。 使用自然語言片語來描述您想要建立的程式碼。 這可讓 Copilot 提出符合特定需求的自動完成建議。 例如,您可以指定要在計算中使用的演算法類型,或您想要新增至類別的方法和屬性。

讓我們回到質數範例。 此時,您有下列程序代碼:

這是顯示質數範例的目前程式碼的螢幕快照。

addPrimeNumbersInNumericListisPrime 方法似乎已完成。 不過,當您呼叫 addPrimeNumbersInNumericList 方法時,仍然需要可用來做為自變數的數字清單。 您可以撰寫描述所需數字清單的批註。 例如,範圍從 1 到 1000 的 100 個隨機數清單。

當您開始輸入註解時,GitHub Copilot 會建議自動完成,為您完成註解。 GitHub Copilot 會使用您周圍的程式代碼來改善其建議。 例如,如果您開始輸入批註 // create,GitHub Copilot 會使用周圍的程式代碼來預測您想要建立的專案。 在此情況下,GitHub Copilot 會使用 addPrimeNumbersInNumericList 方法來預測您要建立 a list of numbers

此螢幕快照顯示正在將「create」一詞新增至註解行。

當您繼續撰寫您的批注時,GitHub Copilot 會更新其自動完成建議。 當您準備好接受建議時,請選取 [ 接受 ] 或按 Tab 鍵。

螢幕快照,其中顯示將「建立 100 個隨機數清單」文字新增到批注行中。

當您在批注之後建立新的程式碼行時,GitHub Copilot 會開始根據批注和現有的程式碼產生代碼段。

顯示 GitHub Copilot 新增第一行程式代碼的螢幕快照。

依建議出現的順序接受每一個建議。

顯示 GitHub Copilot 繼續新增程式代碼行的螢幕快照。

如果 GitHub Copilot 還沒有完成,就會產生另一個建議讓您接受。

顯示 GitHub Copilot 完成數字清單的螢幕截圖。

如果您在代碼段完成之後輸入新的代碼行,GitHub Copilot 會根據您的程式代碼專案需求產生另一個自動完成建議。 在此情況下,GitHub Copilot 會建議呼叫 addPrimeNumbersInNumericList 方法的程式碼行,並傳入名為 numbers 的清單。

螢幕快照顯示 GitHub Copilot 建議呼叫方法。

在 GitHub Copilot 的建議選項標籤中查看多個建議

如果您對初始自動完成建議不滿意,GitHub Copilot 可以在編輯器中開啟具有更多選項的新索引標籤。 您可以檢閱較大的建議清單,以尋找更好的相符項目,然後加以選取。

為了示範這項功能,讓我們回到質數範例的先前階段。

假設您仍然需要建立 isPrime 方法。 當您在 addPrimeNumbersInNumericList 方法下方輸入空白行時,GitHub Copilot 會為您建議 isPrime 方法。 這是您先前使用的相同流程。 不過,假設您不滿意 GitHub Copilot 提供的建議,而且想要查看更多選項。

若要開啟 [GitHub Copilot 建議] 索引卷標並檢視其他建議,請按 Ctrl + Enter 鍵。 您也可以開啟 [其他動作] 功能表,然後選取 [ 開啟完成面板]。

顯示 [GitHub Copilot 建議] 索引標籤的螢幕快照。

GitHub Copilot 建議索引標籤最多會顯示多達 10 個其他建議。 檢閱建議以找出最符合您需求的建議。

若要接受建議,請選取建議下方的 Accept selection 標籤。 例如,選取在第一個建議下方的 Accept suggestion 1 標籤。

若要拒絕所有建議,請關閉索引標籤。

總結

自動完成建議可協助您更有效率且準確地撰寫程序代碼。 當您輸入程式代碼時,GitHub Copilot 會提供自動完成建議。 您可以輸入部分或完整的程式代碼行、部分或完整的程式代碼批注,或空白程式代碼行,以產生自動完成建議。 您可以按 Tab 鍵接受建議,或按下 Esc 鍵來關閉建議。 您可以使用將滑鼠停留在建議上方時出現的工具列來管理建議。 工具列可讓您檢閱替代建議、接受建議、接受建議的一個字組,或開啟 GitHub Copilot [完成] 索引標籤來檢視更多建議。