撰寫程式碼時的 AI 協助

IntelliCode 整行自動完成會根據您目前的程式碼預測下一個程式碼區塊,並將其呈現為灰色文字內嵌預測。 想想在輸入電子郵件時看到的灰色文字自動完成,只不過這裡輸入的是程式碼。

此功能支援 Visual Studio 2022 中的 C#。

Screenshot of Whole Line Completion by IntelliCode in Visual Studio.

運作方式

IntelliCode 使用的是以大約 50 萬個 GitHub 公用開放原始碼存放庫定型的大規模轉換器模型。 此模型會根據您到目前為止已編碼之內容的豐富知識,預測您接下來輸入的內容,包括:

  • 變數名稱和位置
  • 您使用的程式庫
  • 鄰近程式碼中的函式
  • IntelliSense 清單

此模型會在本機電腦上執行,讓此功能可在離線和實體隔離斷網的環境中使用。 此功能支援 C#。

兩種模式

IntelliCode 會以兩種方式提供完成,一種是在使用者輸入內容時,另一種是在使用者已選取 IntelliSense 清單中的項目時。

模式 1:輸入內容時,整行自動完成

當使用者輸入內容時,我們會顯示整行自動完成,您可以藉由 [按 Tab 鍵以接受] 來接受。若要關閉預測,您可以使用 EscDelete 鍵。

Screenshot displaying Tab to accept whole-line autocompletion.

模式 2:選取 IntelliSense 項目時,整行自動完成

當使用者已從 IntelliSense 清單中選取項目時,IntelliCode 會使用使用者已輸入的內容以及使用者已選取的項目,做為提供預測的內容。 在此情況下,您會看到 [按 Tab Tab 鍵以接受] 預測。 第一個 Tab 鍵會接受 IntelliSense 清單中已選取的項目,第二個 Tab 鍵會接受整行完成。 若要關閉預測,您可以使用 EscDelete 鍵。

Screenshot displaying Tab Tab to accept selected completion item and whole line completion.

接受或關閉整行自動完成

根據預設,Tab 鍵會用來接受整行自動完成。 若要變更預設的接受鍵,請移至 [工具] -> [選項] -> [IntelliCode] -> [完成整行程式碼]。 啟用名為 Apply completions for whole lines on right arrow 的設定。

Screenshot of Settings menu to change setting to make right arrow as accept character.

這麼做會將接受鍵從 Tab 變更為向右鍵 ->

Screenshot of Settings menu to change right arrow to accept whole-line autocompletion.

若要關閉整行自動完成,可以使用 ESCDelete 鍵。

隱私權

請參閱隱私權

控制整行自動完成

您可以使用編輯器右下角 (縮放控制項旁邊) 顯示的紫色小燈泡,控制整行自動完成功能。

Screenshot of setting for turning IntelliCode whole-Line autocompletions on or off.

第一個設定 Show completions for lines of code 可讓您開啟或關閉整行自動完成。

第二個設定 Wait for pauses in typing before showing line completions 啟用時,會讓整行自動完成僅在使用者已暫停輸入時才顯示。 如果您發現整行自動完成在預設模式下會分散注意力,您可能會偏好使用此選項。

第三個設定 Show completions on new lines 可以依照您在輸入新行 (也就是按下 ReturnEnter) 時,是否想要看到整行自動完成來開啟或關閉。

提供意見反應

按一下 Visual Studio 右上方的 [意見反應] 圖示,以提交意見反應票證。 您可以選擇性地將 IntelliCode 記錄檔上傳至意見反應票證,以提供額外的內容。 請務必檢閱記錄檔的內容,並解決您可能會有的任何隱私疑慮。 此資料在與我們共用時,僅會用於為您提供支援協助。 您可以在 %LOCALAPPDATA%\Temp\VSFeedbackIntelliCodeLogs 找到記錄

Screenshot of submitting feedback for IntelliCode.

第二個設定 Wait for pauses in typing before showing line completions 啟用時,會讓整行完成僅在使用者已暫停輸入時才顯示。 如果使用者發現整行完成在預設模式下會分散注意力,可能會偏好使用此選項。

第三個設定 Show completions on new lines 可以依照使用者在輸入新行 (例如藉由按下 ReturnEnter) 時,是否想要看到整行完成來開啟或關閉。

下一步

請參閱隱私權