Visual Studio 2022 藍圖

Visual Studio 仍然是一個全面的 IDE,其投入於 AI 來促進開發、增強 .NET 雲端原生應用程式開發、在 C++ 和遊戲開發工具中取得領先,並改進基本開發流程。 我們正在推出一些新功能和生產力增強功能,旨在讓軟體開發更快且更有效率,以確保開發人員擁有適合任何專案的正確工具。 此藍圖描述了我們對於未來一年在 Visual Studio 2022 中主要工作的願景,並包含以下這些關鍵主題:

  • 含 Copilot 的 AI:帶來了新一波的功能與生產力,具有無與倫比的潛力。 Visual Studio 具有獨特的優勢,可支援透過 Copilot 來為開發人員和企業提供一流的機會。
  • .NET Aspire:旨在改善建置 .NET 雲端原生應用程式的體驗,而 Visual Studio 其中的首要開發人員工具。
  • C++ 遊戲開發:正在不斷發展,而 Visual Studio 是現代遊戲開發人員的黃金標準工具。
  • 基本功能:是對許多客戶至關重要的​現有工作負載的​相關功能集。 它也包括對所有內部循環開發人員場景的生產力增強。

我們的使命是透過為 .NET 和 C++ 開發人員打造最令人愛不釋手的開發體驗來促進我們的客戶和合作夥伴取得成功,而此藍圖正反映了這一點。

含 Copilot 的 AI

AI 的​相關創新正在加速進行,而 Visual Studio 處於領先地位,有多項功能正在開發中。

當我們透過 AI 來更新現有的功能時,我們能夠為開發人員體驗增添全新的層面。 正如人們常說的,計算機科學中最困難的事情之一就是為事物命名,但是有了更新的 AI 重新命名功能,這將變得輕而易舉。 命名之所以困難,是因為正確命名很重要。 開發人員閱讀程式碼的時間遠遠多於撰寫程式碼的時間,而命名是理解程式碼基底的關鍵。

程式碼檢閱和了解提交歷程記錄也是如此。 藉由讓 AI 分析您所做的變更並建議相關且詳細的 Git 提交訊息提取要求描述,您可以避免浪費大量時間閱讀程式碼及其歷史記錄。

偵錯是另一個對任何專案的成功至關重要的關鍵情境。 Copilot 將能夠協助進行錯誤尋找、設定有條件的中斷點和追蹤點,以及分析效能深入解析,以讓您的應用程式更可靠且具有高效能。

當單元測試失敗時,確定如何讓它們再次通過是很棘手的。 是您剛剛修改的程式碼,還是單元測試有問題? Copilot 將能夠協助說明測試失敗的原因,並建議您可以做什麼來回到一組乾淨的通過單元測試。

.NET 和 Aspire

我們將透過引入更多功能並整合到 Visual Studio 和 .NET Aspire 儀表板中,持續改​​進我們在 .NET Aspire 中所引入的雲端原生開發體驗。 透過我們即將發行的預覽版,我們開啟了一個新方向,讓開發人員更容易透過一個手勢來將多節點應用程式發佈到 Azure 容器應用程式。 Visual Studio 的按一下滑鼠右鍵發佈功能依賴於 Azure Developer CLI 來進行 Aspire-to-Container Apps 發佈,展現了很棒的合作關係,這將使開發人員能夠更輕鬆地發佈更大型的應用程式,並獲得更可重現的結果。

這種合作關係也將解決讓開發人員能夠將其在本機開發人員電腦上執行的程式碼連線到雲端內資源的問題。 這種「複製 -> 佈建 -> 偵錯 -> 部署」的範式在新的 OpenAI 方案中最為普遍;若要使用 Azure OpenAI,則必須先佈建 Azure OpenAI 資源並設定其應用程式來與它進行交談。 為了實現這些情境,Web 工具和 AZD 小組正在加深其合作關係並研究 AZD 如何解決「開發時」的資源佈建問題,以及透過「Visual Studio 已連線的服務」帶來令人興奮的機會。 我們希望引領更深依賴 AZD 在開發人員環境和 CI/CD 環境中進行佈建和部署的功能的方向,這樣一來 .NET Aspire 開發人員通往 Azure 之路便暢行無阻。

C++ 與遊戲開發

我們將持續為所有 C++ 開發人員專注於在語言一致性生產力增強、診斷,尤其是安全性方面的改進。 跨平台和遊戲開發人員的工作負載將持續成為重點範圍,包括將 Unreal Engine 專案支援帶入 GA。 我們也將持續致力於在 Copilot 中為 C++ 開發人員引入創新的新功能。

基本項目

Visual Studio 的核心是開發人員的體驗及其所有功能、生產力和自訂作業。 內部循環的創新仍然是首要重點,而 Visual Studio 一樣為開發人員和企業提供了關鍵功能。

Git 工具

我們將持續致力於為所有存放庫提供全面的 Git 整合,尤其是針對 GitHub 和 Azure DevOps (ADO) 提供。

透過全新且更新的體驗,直接從 Visual Studio 中建立提取要求將比以往更容易。 您甚至可以直接在程式碼中檢視和處理註解,還可以參考 GitHub 問題並將 ADO 工作項目直接與提取要求連結。

而透過 AI 產生的提交訊息和提取要求描述,您將節省大量的時間並提高程式碼變更的可讀性和可搜尋性。

偵錯工具和程式碼剖析工具更新

我們將致力於在所有平台上提供更可靠且更快速的偵錯體驗。 此外,我們也將著重於在 [偵錯視覺化檢視] 和 [記憶體分析] 中實作生產力的改善。 未來,我們將持續微調對偵錯外部來源、偵錯虛幻專案以及處理跨平台偵錯場景的支援。

在分析方面,我們將持續簡化基準 .NET 場景並將其與 Git 管線整合,以獲得更具生產力的開發體驗。

最後,透過優先增強 AI 支援的內部循環體驗來加快根本問題的識別,我們計劃讓偵錯體驗變得更加簡單且更順暢。

測試

新版的 IntelliTest 目前處於預覽階段,我們正致力於解決此預覽版的意見反應問題並發行此新版本的 IntelliTest,以為針對 .NET Core 和 x64 裝置的測試提供支援。

維護程式碼涵蓋範圍對於您的品質之旅非常重要,我們將致力於透過從程式碼涵蓋範圍報告中排除無法存取的程式碼並繼續改進對所需報告格式的支援來增強程式碼涵蓋範圍的體驗。

桌面和 Web 開發

在 Visual Studio 中支援 WinForms 的道路上,我們將持續專注於設計工具的品質和效能。

Web 工具小組會專注於改善在使用 Visual Studio 時的 Web 開發端對端體驗,並專注於 API 開發內部循環生產力。 目前,我們會優先考慮使用 ASP.NET Core 的雲端原生場景。

我們也將持續改善熱重新載入效率,目的在提高套用編輯速度的可靠性,同時也改善可在熱重新載入工作階段中自動重新載入的編輯類型。

我們正在傾聽您的 Razor 意見反應! 改善 Razor 編輯體驗的效能、完成度和整體可靠性,是我們在每個版本中持續關注的範圍。 請繼續針對 Razor 編輯未達到您期望的場景提供意見反應。

生產力

一站式程式碼搜尋文字支援可作為預覽功能來提供,其中檔案和符號搜尋結果現在將由字串註解區域變數和其他程式碼片段來補充。 展望未來,我們正努力透過不同的範圍選項來新增更多功能、改善我們處理查詢的方式,以及尋找引入 AI 的機會。

新的 XML 方案檔格式代表目前方案檔中存在的所有資料模型,以確保專案結構之間的相容性。 它可簡化合併期間的衝突解決動作、透過以專案類型的符號表示法和人類可讀的名稱取代複雜的 GUID 來優先考慮可讀性,並在需要時利用運算式來保持清晰度。 這些變更​目的是為了簡化方案檔的管理並增強使用者體驗。

處理影像時,查看實際影像而不只是參考本身的語法通常會很有幫助。 將滑鼠停留在任何影像參考上以顯示預覽工具提示的功能即將推出。

我們正在努力重新構想設定 Visual Studio 的體驗,以為您帶來現代化且更具生產力的體驗! 從17.10 預覽版 1 開始,您將能夠嘗試此功能的預覽功能,該功能可為配置設定、在使用者和開啟方案/資料夾層級自訂設定的能力、增強的設定搜尋功能、基於 JSON 的設定儲存等帶來更多的空間。 隨著這一年的前進,我們會持續將設定移轉至新的體驗中,並為新的統一設定體驗帶來更多的特性和功能。

擴充性與個人化

從 Visual Studio 17.9 開始,我們提供了首次迭代的體驗,讓您可以使用您的 .vsconfig 檔案以在元件清單旁邊包含延伸模組資訊。 我們正努力實現在方案載入期間偵測組態檔中遺漏的非市集延伸模組的功能,以及安裝程式載入「複合」延伸模組的功能。 之後,我們計劃開始處理其他常見的安裝程式作業,例如更新和匯出。

您也可以透過 [工具] > [選項] > [環境] > [預覽功能] 中的 [延伸模組管理員 UI 重新整理] 核取方塊,找到目前可用的更新 [延伸模組管理員] 預覽功能。 重新整理的 UI 會在您選取每個延伸模組時顯示其描述,而不會要求您瀏覽至網頁上的 Visual Studio Marketplace 來取得詳細資訊。 我們將在接下來的幾個月中持續加強和完善這項體驗。

我們也已持續開發新的 VisualStudio.Extensibility SDK (目前處於預覽階段),其可協助您建置在主要 IDE 流程之外執行的延伸模組。 將延伸模組從主流程中分離出來可提升效能和可靠性,且可讓我們有機會藉由提供現代化、直覺的 .NET Core 型 API 和妥善維護的文件來專注於開發人員的生產力。 我們很快就會為新的 SDK 帶來一些備受期待的功能,包括透過 Visual Studio Marketplace 和 Visual Studio 的 [延伸模組管理員] 來發佈和管理延伸模組。 您也很快就會發現這些新的功能,其可讓您更輕鬆地設定和偵錯延伸模組、查詢專案系統,以及建立功能強大的偵錯工具視覺化檢視

該小組一直致力於為 Visual Studio 提供一個重新整理的 UI,目標是為了提高生產力、打造一個更具包容性的環境,以及跟上不斷演變的全域輔助功能需求。 您可以移至 [工具] > [選項] 並核取 [實驗性控制樣式],以啟用重新整理 UI 的預覽功能。 我們已經收到一些意見反應,要求編輯器的淺色/深色佈景主題要與殼層佈景主題分離,並為字型和自訂佈景主題提供更好的支援。 我們會解決這些問題,並在我們進一步完善體驗時留意像您這樣的使用者的其他意見反應。

身分識別

我們致力於在我們的產品中提供無縫且整合的身分識別體驗。 為此,我們正在進行最後的調整,以啟用 WAM (Web 帳戶管理員) 作為個人、公司或學校帳戶的預設驗證機制。 這將能夠與先前新增至 Windows 的 Windows 功能進行更深入的整合。

我們也致力於改善 GitHub 體驗,這對於支援版本控制和 GitHub Copilot 場景至關重要。 我們將在接下來的版本中帶來上線改善以及多帳戶支援