【譯】Visual Studio 中的 GitHub Copilot:2023年回顧

MeteorSeed發表於2024-04-12

  在快速發展的軟體開發世界中,保持領先是至關重要的。在 Visual Studio 中引入AI,特別是 GitHub Copilot,已經徹底改變了開發人員的編碼方式。透過將 Copilot 整合到 Visual Studio 中,您可以利用 AI 來簡化工作流程,管理大型程式碼庫,分析異常,甚至生成提交訊息。這就像有一個知識淵博的結對程式設計師在你身邊,幫助你提高生產力,更快地迭代,使你的應用程式更可靠。以下是在過去一年中我們想重點介紹的 Visual Studio 中 GitHub Copilot 的一些創新。

內聯聊天檢視

  有沒有想過,你可以把生成式 AI 聊天機器人給你的程式碼直接放到你的編輯器裡?透過內聯聊天,您可以在編輯器中與 GitHub Copilot 進行互動!這個功能允許你在編輯器中改進你的程式碼,這對於詢問關於你活動的檔案的特定問題是完美的,當 GitHub Copilot 給你程式碼建議時,你可以看到差異檢視。

  要訪問內聯聊天,您需要一個活躍的 GitHub Copilot 訂閱和安裝在 Visual Studio 17.8或更高版本中的擴充套件。要訪問內聯聊天,在只需在編輯器中點選右鍵> Ask Copilot,或透過快捷鍵(Alt+/)。

斜槓命令來指示你的意圖

  被誤解是最糟糕的!斜槓命令允許您清楚地說明您的提示背後的意圖,以便讓 GitHub Copilot 沒有誤解。當學習使用生成式 AI 聊天機器人時,當它不理解你的要求時,總是令人沮喪。透過使用斜槓命令,它們允許您清楚地說明指示背後的意圖,以便使 Copilot 沒有誤解。

  斜槓命令存在於聊天視窗中。輸入“/”會彈出一個命令列表,你可以用這些命令來說明你的意圖,比如“/explain”用來解釋程式碼,“/doc”用來記錄一個方法或檔案,等等!

上下文變數來最佳化你的作用域

  有沒有想過 GitHub Copilot 在回答你的問題時引用了什麼?上下文變數特性允許您在問題中使用#符號指定解決方案中的檔案。當你引用一個檔案時,Copilot 可以訪問它的內容,並提供與之相關的具體答案。

  【提示】利用我們最新和最好的#Solution將所有檔案的上下文包含在您開啟的解決方案中,允許您將答案基於其中。注意#Solution只支援c#。例如:“What parts of this #Solution is designated to be a command line interface?”

  例如,你可以問這樣的問題:“How does the #Main.cs file work?”或“What is the purpose of the #Calculator.cs file?”然後,Copilot Chat 將根據這些檔案的內容提供相關答案。此功能透過消除手動複製和貼上的需要簡化了流程。您可以在一個問題中包含多個檔案,以獲得更高的效率!

分析和修復測試視窗的失敗

  使用 GitHub Copilot,失敗和異常分析從未如此簡單。這種 AI 輔助功能可以幫助使用者分析和修復由於失敗的測試假設或在測試執行期間發生的異常而導致的測試失敗。這個功能可以在 Test Explorer 中找到,並建立一個討論執行緒,允許您與 GitHub Copilot 互動,為您提供解釋和程式碼修復。當存在失敗的測試時,“Ask Copilot”連結將出現在測試失敗摘要解釋中,允許您與 Copilot 進行後續操作。

AI 輔助異常分析

  你有沒有想過為什麼會出現異常?現在,GitHub Copilot 可以用來協助異常分析,幫助開發人員理解異常發生的原因,並提出解決方法。它收集有關異常的相關資訊,包括異常的型別、訊息、來自堆疊跟蹤的程式碼片段和區域性變數值。這些資料隨後被髮送給 Copilot 進行初步分析。隨後,使用者可以與 Copilot 進行進一步對話,討論錯誤並探索潛在的解決方案。

分析工具中的自動見解

  由 CPU Usage 和 Instrumentation 分析器標記的自動見解允許您深入瞭解程式碼,一般與已知的有問題的模式相關。使用者現在可以使用“Ask Copilot”連結獲取有關該見解的更詳細資訊。GitHub Copilot 從見解中獲取上下文,並使用它再次提示 Copilot,以便您可以獲得有關您已獲得的見解的更多資訊,並提出後續問題!

重新命名建議

  您是否遇到過命名變數、方法或類的問題?您並不孤獨。這個功能不僅僅是名字建議,它學習您的識別符號使用習慣,並適應您的程式碼風格,提出無縫整合到程式碼庫中的識別符號。

  要在 Visual Studio 中訪問此功能,只需選擇任意識別符號,右鍵單擊,然後選擇“Rename”(Ctrl+R, Ctrl+R)。單擊重新命名建議按鈕或使用 Ctrl+Space 快捷鍵。您將看到一個根據程式碼上下文定製的命名建議列表。選擇最能讓您產生共鳴的名字,然後按Enter鍵!

生成的提交訊息

  在花了幾個小時修復 bug 或更新特性之後,我最不想做的就是絞盡腦汁準確地編寫 Git 提交的內容。幸運的是,Copilot 提供了一個解決方案。使用最新的生成的 Git 提交訊息特性來簡潔地描述您的更改集,並提高提交訊息的質量和一致性,從而使程式碼更易於理解和維護。然後,在提交之前,你可以透過在更改後面新增關鍵的“why”來改善資訊。

  在 Git Changes 視窗中使用新的“Add AI Generated Commit Message”閃光筆圖示生成建議。

斷點表示式的智慧感知

  斷點表示式可以幫助開發人員更高效地除錯程式碼。然而,找到最佳的斷點表示式可能是一項挑戰和耗時的工作。這就是為什麼我們在 Visual Studio 中使用 GitHub Copilot Chat ,這是一個 AI 伴侶,可以幫助我們對斷點表示式進行智慧感知。GitHub Copilot 可以分析我們的程式碼,併為我們的除錯場景建議最佳的斷點表示式。這是一個節省時間和精力的好方法!

  該特性針對的是建立高階斷點(如條件斷點和跟蹤點)的使用者。使用斷點周圍的程式碼上下文,GitHub Copilot 建議用於斷點條件和日誌語句的潛在表示式。注意:智慧感知斷點建議只支援 C#。

死鎖分析

  死鎖可能會在程式中導致嚴重的問題,並且檢測和解決起來可能很繁瑣。在 GitHub Copilot 中,死鎖被揭開了神秘的面紗,透過在 Exception Helper 中顯示它們,使其對使用者來說變得更加明顯。異常助手現在將包括一個“Ask Copilot”連結,在這個連結中,Copilot 將獲取你的程式碼上下文,以及異常助手積累的資訊,並允許使用者繼續向 Copilot 詢問如何解決死鎖。

我該如何開始呢?

  所有這些特性以及更多特性現在都可以在最近釋出的 Visual Studio 17.9中使用。那麼,為什麼還要等待呢?今天在 Visual Studio 中安裝 Copilot 和 Copilot Chat,體驗程式設計的未來!

提供反饋並保持聯絡

  我們感謝您花時間報告問題/建議,並希望您在使用 Visual Studio 時繼續給我們反饋,告訴我們您喜歡什麼以及我們可以改進什麼。

  您的反饋對於幫助我們使 Visual Studio 成為最好的工具至關重要!您可以透過開發者社群與我們分享反饋,透過傳送反饋來報告問題或分享您的建議,推動對新功能或現有功能的改進。

  透過在 YouTube, Twitter, LinkedIn, Twitch 和 Microsoft Learn 上關注我們與 Visual Studio 團隊保持聯絡。

原文連結:https://devblogs.microsoft.com/visualstudio/github-copilot-in-visual-studio-a-recap-of-2023/

相關文章