Visual Studio 2022 Preview 版本資訊
我們很高興地宣佈推出 Visual Studio 2022 v17.14。 此更新著重於 穩定性 和 安全性,以及 AI 改進 為所有開發人員。
下載 Visual Studio 2022 v17.14 Preview,以享受這些新功能和改進功能。
功能
最新預覽版本中的所有新功能。
GitHub Copilot
GPT-4o 程式代碼完成模型
在公開預覽中推出 GPT-4o Copilot 程式完成模型,為您提供更高質量的完成結果。
我們很高興地宣佈,新的 GPT-4o Copilot 程式碼完成模型現已在 Visual Studio 17.14 中提供,適用於 GitHub Copilot 的使用者! 這個以 GPT-4o 迷你為基礎的進階模型已進一步訓練超過 275,000 個優質公用存放庫,橫跨 30 種熱門的程式設計語言。 因此,開發人員可以期待更精確的建議和增強的效能。
若要體驗新的模型,請流覽至 Tools → Options → GitHub → Copilot → Copilot 完成,然後從模型選擇器下拉式清單中選取 [GPT-4o Copilot]。 您也可以按下右上角的 GitHub Copilot 徽章來存取設定,然後移至 [設定] → [選項]。 請注意,第一次擷取最新模型清單可能會延遲。 如果您沒有在下拉式清單中看到新的模型,請嘗試重新啟動Visual Studio。
![]()
GPT-4o Copilot 存取注意事項說明:
- Copilot Pro 使用者:新的模型現已在 17.14 及更高版本中可用。
- Copilot Business 或 Enterprise 使用者:您的系統管理員必須先選擇在 github.com 的 Copilot 原則設定中加入編輯器預覽功能,為您的組織啟用此模型。
- Copilot 免費使用者:使用此模型將計入您每月2,000次的免費使用。
AI 檔批注產生
自動產生C++和 C# 函式的檔批注。
Copilot 現在已順暢地整合到 Visual Studio 的程式代碼編輯器中,協助您產生函式的檔批注。
為您的專案啟用自動檔批注產生后,只要根據您的設定組態輸入批註模式(例如,
///
),Copilot 就會根據函式的內容自動完成函式描述。
![]()
此功能適用於C++和 C# 項目檔。
偵錯與診斷
.NET MAUI 應用程式的新調試程式
.NET MAUI 的新 Mono 偵錯引擎已整合至 Visual Studio Core 調試程式。
適用於 .NET MAUI 應用程式的 Mono 偵錯工具是已整合至 Visual Studio 偵錯工具的新偵錯引擎,為可靠性、效能以及和 Visual Studio 其餘部分的功能同位帶來重要改進。
Just My Code、變數和運算式評估是最顯著的改進之一。
若要使用它,確定您已啟用下列 Visual Studio 預覽功能:為 MAUI 應用程式啟用新的 .NET Mono 偵錯工具
![]()
此功能僅適用於Android平臺。 即將推出 iOS 支援.
顯示 LINQ 運算式 📣
的數據提示利用子句懸停數據提示所帶來的增強式 LINQ 表達式偵錯體驗。
生成和排除故障 LINQ 查詢可能是一個乏味且複雜的過程,通常需要精確的語法知識和無數的反覆試驗。 為了減輕這些負擔,Visual Studio 2022 現在在偵錯工具中提供 LINQ 停留時顯示的資料提示。
在偵錯期間處於中斷狀態時,您可以將滑鼠停留在 LINQ 查詢的個別子句或區段上,並在執行階段評估立即查詢值。
此外,您可以在 DataTip 結尾按兩下 GitHub Copilot 圖示,這會在您暫留於的特定查詢子句上執行 Analyze with Copilot。 Copilot 接著會說明 子句的語法,並釐清您取得指定結果的原因。
![]()
這樣可以大幅提升效率、讓您的偵錯體驗更加輕鬆順暢、協助您更快速地找出關於 LINQ 查詢的問題,並簡化整體的開發工作流程。
📣 請參閱功能問題單以分享您的意見並進行交流。
Zero-Length 陣列配置深入解析
.NET 配置工具現在可識別長度為零的數位配置,以協助優化記憶體使用量和效能。
.NET 配置工具現在針對長度為零的陣列配置提供詳細深入解析,協助您判斷不必要的記憶體使用量並加以最佳化。 雖然這些配置似乎微不足道,但它們會累積並影響效能,尤其是在高效能或記憶體受限的應用程式。
![]()
有了這項更新,您可以按一下 [調查] 連結來調查長度為零的陣列配置,這樣做會開啟 [配置檢視] 並顯示配置的詳細資料。 按兩下即可顯示這些配置發生的程式碼路徑,以進行精確的最佳化。 若要提高效率,請考慮使用
Array.Empty<T>()
,這是以靜態方式配置的空陣列執行個體,以消除多餘的記憶體配置。
Git 工具
檢視傳出/傳入提交 📣
Git 存放庫視窗現在在其工具列上提供篩選,只顯示傳出/傳入認可。
Git 存放庫視窗 是瞭解 Git 歷程記錄 go-to 位置。 當您在本機分支上工作時,可能會與遠端不同步,這可能是因為您創建了新的提交(外發),或有需要提取的新的提交(內發)。
有了工具列中提供的新傳出/傳入篩選器,您可以立即識別這些未同步的提交。 您的提交和他們的提交,輕鬆查閱並保持完美同步!
![]()
📣 請參閱功能票證以分享您的回饋意見並保持交流。
還原 Git 存放庫視窗 📣
使用此新設定,讓 Git 存放庫視窗在重新啟動之間保持開啟。
作為分支作業的專用環境,Git 存放庫視窗 可能是您日常開發的核心。 如果您發現經常需要在每個 Visual Studio 工作階段中重新開啟它,此更新的目的正是用來節省您的時間和精力。
![]()
我們已將新的設定新增至 Git > [設定],以在重新啟動 Visual Studio 時自動還原 Git 存放庫視窗。 此外,此視窗也將包含在您已儲存的視窗配置中,以強化您的自訂選項。
此功能預設為關閉,讓不需要用到它的人員順暢執行工作。 但是如果您喜歡這樣的便利性,這個設定非常好用。
![]()
📣 請參閱功能單以分享您的回饋並繼續參與討論。
預設分支名稱 📣
允許使用者在建立新的 Git 存放庫時自定義初始預設分支。
您現在可以直接透過 Visual Studio 設定新 Git 存放庫的預設分支名稱。 這個新設定將和您的 Git 組態順暢地進行通訊,讓您更輕鬆地自訂工作流程。
使用主要分支建立新的存放庫之後,
只要前往 Git > [設定],下次建立儲存庫時,您就可以看到您的自訂分支名稱運作。
![]()
📣 請參閱功能票以分享您的意見並繼續交流。
IDE
增強式 NuGet 驗證
NuGet 現在會在要求您提供認證時提供內容。
我們已經改良了 NuGet 驗證程序。 現在,如果我們偵測到任何潛在的驗證問題,您將會看到一個新的驗證對話方塊,提供關於資訊流和特定帳戶的需求的相關內容。
![]()
這項更新強化了多重要素驗證 (MFA) 案例的重新驗證程序、解決連續驗證提示的問題,並確保管理私人 NuGet 摘要時更順暢的整體體驗。
Teams 工具組更新
Teams 工具組新增用於建置代理程式的新專案範本。
我們很高興宣佈在這個版本中,Teams 工具組已新增專案範本,用於建置適用於 Microsoft Copilot 的宣告式代理程式。
![]()
您可以使用或不使用動作來建立宣告式代理程式。 您可以選擇定義新的 API,或使用現有的 API 來定義執行工作或擷取資料的動作。
使用 Teams 工具組在 Microsoft Copilot 中除錯與預覽您的宣告代理。
此外,在此版本中,Teams 工具組已重新整理所有專案範本以支援 .NET 9。
![]()
祝各位程式撰寫愉快!
Teams 工具組團隊
跨主題保留字型喜好設定 📣
變更主題現在會保留您的字型和字型喜好設定。
我們知道,撰寫程式碼時若是個人選擇,那麼開發人員選取的字型就會受到可讀性、可及性或美學偏好所影響。 Visual Studio 主題主要著重於簡報色彩,與您偏好的字型無關。
透過此更新,我們推出此功能,讓您在切換主題時保留字型和大小選擇。 您現在只需要在 Visual Studio 中設定一次字型就能切換主題時,不需要每次都要重新設定字型設定。 請注意,字型色彩會持續與主題連結,因為這就是主題的用途,但您的字型選擇會保留。
![]()
預設情況下,此功能會為所有使用者啟用。 如果您偏好先前的行為,請移至 [工具] → [管理預覽功能],然後尋找選項 [將字型設定與色彩主題選取區隔。 勾選此選項後,不論主題如何變更,您的字型偏好設定都會保持不變。 要恢復將字型選擇與主題連結的行為,請取消勾選方塊。
📣 請參閱功能問題單以分享您的意見並繼續交流。
桌面
更新UI,在設計階段即時更新 📣
即時預覽、熱重載和其他 UI 工具現在可在設計時使用。
現在可在設計階段使用即時預覽,即時呈現應用程式 UI 變更的視覺效果。 現在也能以這種方式使用熱重新載入和其他即時 UI 工具,確保工作流程的順暢。
脫離偵錯工具並靈活利用這些工具可讓您實驗並完善設計,而不受中斷。
![]()
按一下新的 [即時預覽] 指標,在設計階段從任何 XAML 檔案存取即時預覽:
![]()
無論您正在打造新的 .NET MAUI 應用程式,或是完善現有的 WPF 應用程式,這些增強功能將協助您以更快的速度、更有信心地提供高品質的應用程式。
📣 請參閱功能反饋問題以分享您的意見並繼續交流。
新的 UWP .NET 9 MSTest 專案範本 📣
Visual Studio 現在包含以 .NET 9 和原生 AOT 為目標的更新 UWP MSTest 專案範本。
Visual Studio 現在包含一個以 .NET 9 和原生 AOT 為目標的新 UWP MSTest 專案範本。 我們與 MSTest 團隊密切合作,將 UWP .NET 9 專案的所有必要支援新增至 MSTest 程式庫和基礎結構,以及 Visual Studio 測試主機。 這樣一來,UWP 測試專案現在可以 .NET 9 為目標,並利用所有現代 .NET SDK 和 MSTest 工具,同時仍如預期般在 UWP 環境中執行。
![]()
如同所有其他使用 .NET Native 的原始 UWP 專案範本一樣,先前的 UWP MSTest 專案範本將可繼續使用。 不過,建議您在未來使用以 .NET 9 和原生 AOT 為目標的新專案範本。 如同我們在 Visual Studio 17.13 中所做的一樣,我們進一步調整了所有 UWP 範本的順序以反映出這一點,並在搜尋結果中優先顯示新的 .NET 9 專案範本。
📣 請參閱功能票證以分享您的回饋並繼續對話。
擴充性
安裝擴充功能套件
安裝程式現在可以處理擴充套件的安裝。
安裝程式現在支援延伸模組套件,這些延伸模組是多個延伸模組組合,全都從單一延伸模塊參考。
若要在安裝程式中使用延伸模組套件,請先在 .vsconfig 檔案中指定所需的擴充功能。 然後,使用Visual Studio安裝程式的匯入組態功能,匯入包含擴展名詳細數據的 .vsconfig 檔案。
如需建立或產生 .vsconfig 檔案的詳細資訊,請參閱 安裝組態檔。
匯入 .vsconfig 檔案之後,系統會將您導向至修改畫面,其中延伸模組會在安裝摘要窗格中的專屬標題下分組。 在這裡,您可以選取或取消選取整個擴充套件包,或是任何套件中個別的擴充功能。
透過 Visual Studio 安裝程式安裝擴充套件
![]()
數據
在 SSDT 📣
中使用 SDK 樣式的 SQL 專案您現在可以在 SQL Server Data Tools 專案中使用 SDK 樣式的專案檔格式,以及增強的 SQL 偵錯和架構比較功能。
Visual Studio 17.14 中的更新引進了 SDK 樣式 SQL Server Data Tools 的額外項目範本和 .dacpac 資料庫參考 (預覽)。 SDK 樣式的 SSDT SQL 專案是以 Microsoft.Build.Sql SDK 為基礎,為 SQL Server Data Tools (SSDT) 專案帶來跨平台支援和改良的 CI/CD 功能。
使用較不詳細的項目檔和 NuGet 套件的資料庫參考,小組可以在單一專案中更有效率地在大型資料庫上共同作業,或從數個專案編譯多個物件集。 Microsoft.Build.Sql 專案的資料庫部署可以在 windows 和 Linux 環境中自動化,其中 Microsoft.SqlPackage dotnet 工具會從 SQL 專案發佈組建成品 (.dacpac)。 深入瞭解 SDK 樣式的 SQL 專案和適用於 SQL的 DevOps。
中新增資料庫參考
在 17.14 版中,資料庫參考已擴充為支持專案和 .dacpac 工件參考。 未來版本將支援將資料庫參考作為套件參考。 最新推出的 slngen 解決方案檔案產生器版本也新增了對於 Microsoft.Build.Sql 專案的支援,能夠以程式設計的方式管理大型解決方案。
請務必在 Visual Studio 安裝程式中安裝最新的 SSDT 預覽元件,以在方案中使用 SDK 樣式的 SQL 專案。
![]()
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
C++
CMake 模組的快速資訊支援
IntelliSense 快速資訊和完成中新增 CMake 模組的支援。
我們已在 Visual Studio 中新增 IntelliSense 為基礎的功能支援,包括 CMake 模組的完成功能及快速資訊。 現在,您可以直接從 Visual Studio 編輯器檢視所有可用的 CMake 模組並深入瞭解。
快速諮詢
當您將滑鼠停留在參考的 CMake 模組上時,IntelliSense 可以提供所選模組的詳細資訊。 在快速資訊CMake 資訊
完成
當您開始在
CMakeLists.txt
或其他 CMake 腳本檔案中輸入 CMake 模組時,IntelliSense 會提供可供選擇的可用模組清單。
![]()
最常報告的使用者問題修正
- C++ CLR 類別庫(.NET)專案中的 String::Format 錯誤
- 假陽性生命期代碼分析警告 C26847:切勿傳回無效指標
- 17.12.0 版中的 迴歸錯誤:使用 /CLR 編譯時發生替換失敗錯誤 C3699
- 清理程式涵蓋範圍會產生不正確的 Codegen
- 具有虛擬繼承 階層中 Lambda 運算式中的編譯錯誤
- 安裝程式無法更新為 17.12.0,且 powershell 腳本執行錯誤
- 方案總管例外狀況在變更方案 時发生
📣 查看已加入此版本之所有用戶回報 之錯誤修正 的完整清單。
重要
已對 Domain-Specific 語言模型串行化進行重大變更。 針對包含自定義屬性類型的模型使用預設串行化機制的開發人員,必須針對這些自定義屬性類型新增 TypeConverters。 如需如何執行這項操作的範例,請參閱 自定義檔案儲存和 XML 串行化。
我們全體團隊感謝您選擇 Visual Studio! 如需最新的更新、資源和新聞,請參閱 Visual Studio Hub 並保持聯繫。
祝各位程式撰寫愉快!
Visual Studio 小組
注意
此更新可能包含個別授權的新 Microsoft 或第三方軟體,如第三方通知或其隨附授權中所述。