我們很高興地宣佈推出 Visual Studio 2022 v17.14。 此更新著重於穩定性和安全性,以及所有開發人員的 AI 改進。
下載 Visual Studio 2022 v17.14 以享受這些新功能和改進功能。
功能
2025 年 5 月 13 日發行的 17.14 功能清單。
GitHub Copilot(GitHub 智能編輯助手)
Copilot 代理程式模式 (預覽)
Copilot 代理程式模式是 AI 輔助開發中的下一個演進,現在可在 Visual Studio 預覽中取得。
Copilot 代理程式是獨立的對等程式設計人員,可以處理您方向的複雜多步驟工作。 它會以智慧方式巡覽您的程式代碼基底、分析相關檔案、建議程式代碼變更、執行終端機命令和測試,甚至回應建置和測試錯誤。 它可以監視偵錯和分析輸出,並反覆地自我更正,直到您的工作完成為止,讓您能夠專注於最重要的內容。
![]()
若要試用,請開啟 GitHub Copilot Chat 視窗。 在文字輸入欄位下方,您會看到模式選取器:手動(聊天)或自動(代理程式)。 切換至 Auto (Agent) 會將 Copilot 轉換成實際作編碼合作夥伴,以協助加速您的工作。
MCP 伺服器支援 (預覽)
使用新的模型內容通訊協定 (MCP) 將 Visual Studio 連線到 AI 代理程式 ,這是一種標準化的方式,可用來共用內容、存取數據,以及驅動智慧型手機功能。
我們很高興在 Visual Studio 中引進模型內容通訊協定 (MCP) 伺服器的預覽支援 , 為 AI 驅動開發帶來強大的新功能! MCP 是一種開放通訊協定,可標準化應用程式和 AI 代理程式共用內容、存取數據,以及採取動作的方式,以啟用更智慧且整合的體驗。
有了 Visual Studio 中的 MCP 伺服器支援,您現在可以:
- 使用一致的通訊協議順暢地連線到 AI 代理程式和服務
- 建置更聰明的工具,以瞭解您的開發內容
- 簡化 Copilot 和其他 AI 支援的助理整合
這是讓 Visual Studio 成為完全 AI 連線開發環境的重要一步。
瞭解如何 在 C# 中建置您自己的 MCP 伺服器。
GitHub Copilot 逐步解說
GitHub Copilot 逐步解說現已在 Visual Studio 中提供,可協助您快速啟動並執行。 逐步解說會引導您直接在編輯器中使用 Copilot 主要功能。
我們很高興在 Visual Studio 引入 GitHub Copilot 逐步解說! 逐步解說是一個內建於編輯器的互動式指南,幫助您逐步探索 GitHub Copilot 的功能。 無論您是初次接觸 GitHub Copilot,還是想要了解其最新功能,這個逐步解說都可讓您更輕鬆地開始使用。
開始使用逐步解說
您可以直接從 Visual Studio 啟動 Copilot 逐步解說,方法是移至 [Copilot] 按鈕(右上方)→ GitHub Copilot 逐步解說。
開啟之後,您會看到引導式活動,幫助您了解 Copilot 體驗的不同部分,例如:
Chat 中的撰寫提示
使用內嵌程式碼完成
接受、編輯或拒絕 Copilot 建議
探索和了解新功能,例如 Copilot Edits
本逐步解說是您在深入研究文件和實際操作之前,快速掌握 Copilot 功能的絕佳方式!
如何存取逐步解說
GitHub Copilot 逐步解說會在您首次登入 GitHub Copilot 時自動開啟,讓您輕鬆開始使用! 如果您想要稍後再流覽,只要移至 Visual Studio 中的 GitHub Copilot > GitHub Copilot 逐步解說即可。
無論您是首次探索 GitHub Copilot,還是只是需要快速回顧,這個逐步解說都是您解鎖 Copilot 強大功能的貼心指南。 深入了解並開始自信地建立!
![]()
GPT-4o 程式代碼完成模型 📣
介紹 GPT-4o Copilot 程式代碼完成模型,讓您獲得更高的品質完成。
我們很高興地宣佈,新的 GPT-4o Copilot 程式碼完成模型現已在 Visual Studio 17.14 中提供,適用於 GitHub Copilot 的使用者! 這個以 GPT-4o 迷你為基礎的進階模型已進一步訓練超過 275,000 個優質公用存放庫,橫跨 30 種熱門的程式設計語言。 因此,開發人員可以期待更精確的建議和增強的效能。
GPT-4o Copilot 存取注意事項說明:
- Copilot Pro、Business 或 Enterprise 使用者:新模型現已在 17.14 及更新版本中提供。
- Copilot 免費使用者:使用此模型將計入您的每月 2,000 次免費操作。
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
AI 檔批注產生 📣
自動產生C++和 C# 函式的檔批注。
Copilot 現在已順暢地整合到 Visual Studio 的程式碼編輯器中,透過為函式產生文件註釋來大幅提升您的生產力。
為您的項目啟用自動檔批注產生後,您可以根據設定組態輸入批注模式(例如
///
),Copilot 會根據函式的內容立即完成函式描述。 這項功能可讓您省下寶貴的時間和精力,讓您更專注於撰寫程式碼,而非花時間在文件工作上。
![]()
這項遊戲變更功能適用於C++和 C# 項目檔,讓您的程式代碼撰寫體驗更順暢且更有效率。
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
下一個編輯建議
NES 會利用先前所做的編輯,並預測下一個編輯即將進行,無論是插入、刪除或混合兩者。
我們很高興地宣布,「下一個編輯建議」(簡稱 NES) 現已在 Visual Studio 中推出,以進一步改善您撰寫程式碼的體驗。 NES 會利用先前所做的編輯,預測下一個編輯動作,無論是插入、刪除,還是混合兩者的動作。 與僅限於在插入點位置生成建議的 Completions 不同,NES 可以在您檔案中的任何位置 (最有可能發生下一次編輯的位置) 提供支援。 NES 透過支援開發人員的程式碼編輯活動,增強了現有的 Copilot 自動補全體驗。
NES 使用者入門
透過 工具啟用 NES →選項,→ GitHub → Copilot → Copilot 完成→啟用下一個編輯建議。
就像完成一樣,您只需開始撰寫程式碼就能獲得 NES!
當您看到編輯建議時,如果該建議位於與您目前不同的行,系統會建議您先按 Tab 鍵以導航到對應的行。 您不再需要手動搜尋相關的編輯,NES 會引導您前進!
![]()
在您移動到與編輯建議相同的行後,可以按 Tab 鍵以接受該建議。
![]()
注意:您可以移至 [ 工具] → [選項] → [IntelliCode] → [進階] → [隱藏顯示灰色文字的提示] 來開啟/關閉提示列。
除了提示欄外,邊欄中還會顯示一個箭頭,提示您有可用的編輯建議。 您可以按一下箭頭來查看編輯建議功能表。
![]()
示範案例
下一個編輯建議可以在各種情境中提供幫助,不僅能協助進行明顯的重複性變更,還可以做出合乎邏輯的變更。 以下是一些範例:
將 2D Point 類別重構為 3D Point 類別:
![]()
使用 STL 將程式代碼語法更新為新式C++:
請注意,NES 不僅能進行重複性變更 (例如將所有
printf()
更新為std::cout
),還會更新其他語法,例如fgets()
。
![]()
進行邏輯變更以回應新加入的變數:
NES 會迅速對新增的變數作出反應,這個變數增加了遊戲中玩家可以進行的最大猜測次數,並且 Copilot 自動補全功能也會介入提供協助。
![]()
適應性粘貼
您現在可以讓 Copilot 調整貼上的程式碼,以符合現有程式代碼的內容。
將程式碼貼到 Visual Studio 時,通常需要執行其他步驟才能使其順暢地運作。 可能需要調整參數以配合您解決方案中已使用的參數,或語法和樣式可能與文件的其餘部分不一致。
現已推出調適型貼上功能,它能透過自動調整貼上的程式碼以貼合您現有程式碼的脈絡,最小化手動修改的需求,從而節省時間並減少工作量。 此功能還支援以下場景,如修復小錯誤、程式碼樣式、格式化、人类和程式碼語言翻譯,以及填空或繼續模式任務。
例如,如果您有一個
Math
類別實作了IMath
介面,將Ceiling
方法的實作複製並貼上到同一個檔案中,則該方法會自動調整以實作尚未實作的介面成員Floor
。
![]()
當您執行一般貼上 {KeyboardShortcut:Edit.Paste} 時,就會顯示自適應貼上 UI。 只需按下
TAB
鍵即可請求建議,然後您將看到原始貼上程式碼與調整後程式碼的差異。請啟用 [工具] → [選項] → [GitHub] → [Copilot] → [編輯器] → [啟用自適性貼上] 選項,立即試試看。
使用 Copilot 實作
您現在可以讓 Copilot 完整實作空白的 C# 方法。
今天,如果您在尚未實作的 C# 代碼中參考一個方法,您可以使用常見的燈泡重構功能「Generate Method」,立即在類別內建立該方法。 不過,此重構僅建立一個具有正確簽章的方法,但除此之外,只會建立一個空的骨架和
throw new NotImplementedException
行。 這表示雖然方法在技術上存在,但您必須執行較少的工作來建立此方法,您仍然需要自行實作方法,這可能需要更多時間。使用 Copilot進行重構與實作的目的是在這個情境下讓您更加高效,透過 GitHub Copilot 的幫助,您可以自動實作或豐富您的方法内容。 當遇到只包含 NotImplementedException 拋出的空方法時,您可以在該行上選取燈泡(+
throw
),然後選取 [使用 Copilot 進行重構],Copilot 會根據現有的程式碼庫、方法名稱等填寫方法的所有內容。
![]()
偵錯與診斷
.NET MAUI 應用程式的新調試程式
新 Mono 除錯引擎已整合至 Visual Studio Core 調試器,適用於 .NET MAUI。
適用於 .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 圖示,以針對您停留的特定查詢子句執行 使用 Copilot 分析。 接著,Copilot 會解釋該子句的語法,並說明為何會得到指定的結果。
![]()
此功能可以大幅提升效率、讓您的偵錯體驗更加輕鬆順暢、協助您更快速地找出 LINQ 查詢的問題,並簡化整體的開發工作流程。
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
Zero-Length 陣列配置深入解析
.NET 配置工具現在會識別長度為零的陣列配置,協助優化記憶體使用量和效能。
.NET 配置工具現在針對長度為零的陣列配置提供詳細深入解析,協助您判斷不必要的記憶體使用量並加以最佳化。 雖然這些分配單獨看起來可能微不足道,但它們會快速累積並影響效能,尤其是在高效能或記憶體受限的應用程式中。
![]()
有了這項更新,您可以按一下 [調查] 連結來調查長度為零的陣列配置,這樣做會開啟 [配置檢視] 並顯示配置的詳細資料。 按兩下即可顯示這些配置發生的程式碼路徑,以進行精確的最佳化。 若要提高效率,請考慮使用
Array.Empty<T>()
,這是以靜態方式配置的空陣列執行個體,以消除多餘的記憶體配置。
Git 工具
檢視送出/接收提交📣
Git 存放庫視窗現在在其工具列上提供篩選,只顯示外送/接收的提交。
Git 儲存庫視窗是理解 Git 歷史紀錄的首選之地。 當您在本機分支上工作時,可能會與遠端不同步,這可能是因為您創建了新的提交(外發),或有需要提取的新的提交(內發)。
有了工具列中提供的新發送/接收篩選器,您可以立即發現這些未同步的提交。 無論是您的提交或他人的提交,都可以輕鬆掃描並保持完美同步!
![]()
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
還原 Git 存放庫視窗 📣
使用此新設定,讓 Git 存放庫視窗在重新啟動之間保持開啟。
作為分支作業的專用環境,Git 存放庫視窗 可能是您日常開發的核心。 如果您發現經常需要在每個 Visual Studio 工作階段中重新開啟它,此更新的目的正是用來節省您的時間和精力。
![]()
我們已將新的設定新增至 Git > 設定 ,以在重新啟動 Visual Studio 時自動還原 Git 存放庫視窗。 此外,此視窗也將包含在您已儲存的視窗配置中,以強化您的自訂選項。
此功能預設為關閉,讓不需要用到它的人員順暢執行工作。 但是如果您喜歡這樣的便利性,這個設定非常好用。
![]()
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
預設分支名稱 📣
允許使用者在建立新的 Git 存放庫時自定義初始預設分支。
您現在可以直接透過 Visual Studio 設定新 Git 存放庫的預設分支名稱。 這個新設定可與您的 Git 組態順利整合,讓您能更輕鬆地根據個人偏好調整工作流程。
![]()
只要流覽至 [Git > 設定],下次建立存放庫時,就會看到自定義分支名稱運作。
![]()
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
IDE
增強式 NuGet 驗證
NuGet 現在會在要求您提供認證時提供內容。
我們已經改良了 NuGet 驗證程序。 如果我們偵測到任何潛在的驗證問題,您現在將會看到一個新的驗證對話方塊,提供關於摘要和特定帳戶需求的相關內容。
![]()
這項更新強化了多重要素驗證 (MFA) 案例的重新驗證程序、解決連續驗證提示的問題,並確保管理私人 NuGet 摘要時更順暢的整體體驗。
Microsoft 365 Agents Toolkit
Teams 工具組 17.14 GA 更新。
產品更新:Teams 工具組重新命名為 Microsoft 365 Agents Toolkit
我們很高興宣布產品,先前稱為Teams工具組,已重新命名為 Microsoft 365 Agents Toolkit。 這項變更反映了我們擴充的焦點和承諾,以支援Microsoft 365 生態系統中更廣泛的平台和項目類型。
當我們繼續增強產品時,我們會將焦點從僅支援Teams開發轉移到讓開發人員跨 Microsoft 365 平臺建立 Microsoft 365 Copilot 代理程式和其他應用程式。 這些平臺包括 Microsoft 365 Copilot、Microsoft Teams、Office 系列和 Outlook。 此範圍中的擴充可讓我們藉由提供完整的工具、範本和資源,為使用者提供更好的服務,以開發各種Microsoft 365 解決方案。
新名稱Microsoft 365 Agents Toolkit,更能代表產品的各種功能與功能。 我們相信這項變更可協助使用者更輕鬆地識別 Microsoft 365 環境中可用的完整開發機會。
感謝您持續支援,因為我們不斷演進,以滿足開發人員社群不斷增長的需求。
建立宣告式代理程式
我們很高興宣佈,在此版本中,我們新增了用於建置 Microsoft 365 Copilot 宣告式代理程式的專案範本。
![]()
您可以使用或不使用動作來建立宣告式代理程式。 您可以選擇定義新的 API,或使用現有的 API 來執行工作或擷取資料。
使用 Microsoft 365 Agents Toolkit,在 Microsoft Copilot 中偵錯及預覽您的宣告式代理程式。
啟用順暢的單鍵偵錯
在舊版的 Teams 工具組中,現在稱為 Microsoft 365 Agents Toolkit,當使用者對產生的任何解決方案進行偵錯時,您需要在偵錯專案之前使用 準備 Teams 應用程式相依性 命令。 此命令觸發工具組,協助開發人員建立必要的資源以進行偵錯,例如註冊或更新Teams應用程式。
為了增強偵錯體驗,並使 Visual Studio 對於使用者更為直覺化,我們已移除此步驟並啟用單鍵偵錯體驗。 現在,您可以直接按一下偵錯按鈕,不需任何準備步驟。 不過,如果您已對兩個偵錯事件之間的應用程式指令清單進行編輯,而且需要更新您的應用程式,則仍有一個選項可以執行此動作。 我們提供兩個偵錯模式:
![]()
- 使用更新應用程式進行偵錯:如果您已對應用程式進行編輯,請選取預設配置檔
[Your Target Launch Platform] (browser)
,以確保已套用更新。- 不使用更新應用程式進行偵錯:選擇第二個配置檔
[Your Target Launch Platform] (browser) (skip update app)
來略過更新應用程式資源,讓偵錯更輕鬆且更快速。升級至 .NET 9
此外,在此版本中,我們已重新整理所有項目範本以支援 .NET 9。
![]()
祝各位程式撰寫愉快!
Microsoft 365 代理程式工具組小組
跨主題保留字型喜好設定 📣
變更主題現在會保留您的字型和字型大小喜好設定。
我們知道,撰寫程式碼時若是個人選擇,那麼開發人員選取的字型就會受到可讀性、可及性或美學偏好所影響。 Visual Studio 主題主要著重於簡報色彩,且與您慣用的字型無關。
透過此更新,我們引入了在切換主題時保留字體樣式和大小選擇的功能。 您現在可以在 Visual Studio 中設定字型喜好設定一次,並切換主題,而不需要每次重新設定您的字型設定。 請注意,字型色彩會持續與主題連結,因為這就是主題的用途,但您的字型選擇會保留。
![]()
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
桌面
32 位元件的工具箱支援
使用 WinForms 跨進程設計器,探索您最愛的 Windows Forms (WinForms) 控件,這些控件在明確元件參考中自動新增到 .NET Framework 專案的工具箱中。
適用於 .NET Framework 專案的 WinForms 跨進程設計工具現在支援增強的體驗,方法是自動探索和顯示獨立元件參考中存在的控件,也稱為 「明確元件參考」。
這項功能可大幅擴充參考舊版 32 位元件的 .NET Framework 專案設計時間體驗。 使用者可以利用改良的工具組態,以更妥善地與新式開發工作流程整合,並提升生產力。 如需詳細資訊,請閱讀我們的 部落格文章。
更新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 MSTest 專案範本仍然可以使用。 不過,建議您在未來使用以 .NET 9 和原生 AOT 為目標的新專案範本。 如同在 Visual Studio 17.13 中一樣,我們調整了所有 UWP 範本的順序,並在搜尋結果中優先顯示新的 .NET 9 專案範本。
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
擴充性
安裝擴充功能套件
安裝程式現在可以處理擴充套件的安裝。
安裝程式現在支援延伸模組套件,這是從單一延伸模組參考的多個延伸模組組合。
若要在安裝程式中使用延伸模組套件,請先在 .vsconfig 檔案中指定所需的擴充功能。 然後,使用Visual Studio安裝程式的匯入組態功能,匯入包含擴展名詳細數據的 .vsconfig 檔案。
如需建立或產生 .vsconfig 檔案的詳細資訊,請參閱 安裝組態檔。
匯入 .vsconfig 檔案之後,系統會將您導向至修改畫面,其中延伸模組會在安裝摘要窗格中的專屬標題下分組。 在這裡,您可以選取或取消選取整個擴充套件包,或是任何套件中個別的擴充功能。
透過 Visual Studio 安裝程式安裝擴充套件
![]()
更快速的 VSIX 建置時間
具有一或多個專案參考的 VSIX 專案現在使用智慧增量建置,大幅改善 F5 案例和提升開發人員的生產力。
如果您正在開發具有多個專案的 Visual Studio 延伸模組,您將會喜歡這項效能增強功能! 具有一或多個項目參考的 VSIX 項目現在只會建置實際需要重建的專案,讓您的開發工作流程大幅加快。
![]()
運作方式
快速更新檢查系統已改善,以更聰明的方式判斷解決方案中的哪些專案需要重建:
- 如果您修改相依於專案 B 和 C 的專案 A,則只會重建專案 A
- 如果您修改專案 B,則只會重建專案 A 和 B
- 此智慧會在整個專案相依性樹狀結構中延伸
真實世界的影響
效能改善在真實世界的案例中相當重要。 例如,隨附於 Visual Studio 的 GitHub Copilot 延伸模組(包含大約 30 個專案)在增量式變更方面,建置時間改善了超過 50%,將建置時間從大約 60 秒減少到僅僅 24 秒!
這項增強功能對下列特別有幫助:
- 具有多個相依性的大型 VSIX 專案
- 快速迭代開發工作流程
- 頻繁的 F5 偵錯會話
請注意,如果您的解決方案只包含單一專案,您就不會看到這項增強功能的任何效能優點。
注意:這隻適用於 SDK-Style VSIX 專案。
您的擴充套件開發變得更快了 - 祝您編程愉快!
延伸模組管理員更新 📣
Visual Studio 中的擴充功能管理員有數個新的改善,可讓您更輕鬆地管理擴充功能。
我們很高興在 Visual Studio 中引進了一組強大的新功能,以簡化您的工作流程並改善延伸模組管理體驗。 這些更新可確保您輕鬆保持最新狀態,同時讓您進一步控制套用更新的方式和時機。
最新消息?
無縫自動更新
Visual Studio 現在將會在您開啟應用程式時自動觸發更新,確保您隨時擁有最新的功能和修正,不需手動介入。
![]()
重新啟動「Gold Bar」以套用更新
套用更新時,金色列通知將會出現,提示您重新啟動 Visual Studio,讓變更生效。
延伸模組頁面中的自動更新設定
我們已將自動更新設定直接整合到延伸模組頁面中,讓您更容易使用,以便快速存取設定選項。
![]()
依擱置的變更進行篩選
新的 待處理 類別現在會顯示待處理的變更,讓您隨時瞭解需要注意的更新和修改。
![]()
自動更新設定
除了擴充功能頁面之外,自動更新設定現在可在 [工具] → [選項] 下取得,以取得更直覺式的設定管理體驗。
![]()
簡化的設定體驗
我們已簡化設定 UI,讓您更輕鬆地以較少的點選次數和更清楚的選項來設定自動更新和其他的相關喜好設定。
排除的延伸模組清單
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.SqlPackage dotnet 工具從 SQL 專案發佈建置成品 (.dacpac),在 Windows 和 Linux 環境中自動執行來自 Microsoft.Build.Sql 專案的資料庫部署。 深入瞭解 SDK 樣式的 SQL 專案和適用於 SQL的 DevOps。
![]()
在 17.14 版本中,資料庫參考 已擴展,以支持專案和 .dacpac 組件參考。 未來的版本將會支援把資料庫的引用當作套件的引用。 slngen 方案檔產生器的最新更新也新增了對 Microsoft.Build.Sql 項目的支援,可讓您以程式設計方式管理大型解決方案。
若要在解決方案中使用 SDK 樣式的 SQL 專案,請確保在 Visual Studio 安裝程式中安裝最新的 SSDT 預覽元件。
![]()
📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
C++
CMake 模組的暫留工具提示
IntelliSense 的快速資訊和程式碼完成功能現已支援 CMake 模組。
我們很高興地宣布,我們已經在 Visual Studio 中新增了對 CMake 模組的 IntelliSense 自動補全和快速資訊的支援。 現在,您可以直接從 Visual Studio 編輯器查看所有可用的 CMake 模組並深入了解它們,讓您的開發過程變得更加順暢且有效率。
快速諮詢
當您將滑鼠停留在參考的 CMake 模組上時,IntelliSense 會提供所選模組的詳細資訊,讓您一看就能了解其用法和功能。
在快速資訊中顯示的 CMake 資訊
完成
當您開始在
CMakeLists.txt
或其他 CMake 腳本檔案中輸入 CMake 模組時,IntelliSense 會提供可供選擇的可用模組清單。
![]()
C++動態偵錯
優化C++程序代碼的完整可偵錯性,而不會影響效能。
偵錯優化程式代碼現在比以往更容易。 透過啟動 C++ 動態偵錯,您可以像偵錯未最佳化程式碼一樣偵錯最佳化後的程式碼。 您可以查看所有區域變數、隨時進行單步執行,並在最佳化過的二進位程式上設定精確斷點。 如需詳細資訊,請閱讀我們的 部落格文章。
![]()
填入範本 IntelliSense
範本 IntelliSense 現在會自動使用 [移至定義] 來填入範本自變數(F12)。
您現在可以在使用 [移至定義 ] 或 [F12] 時,自動填入範本列中的範本自變數,以顯示並允許編輯範本參數。
例如,按下
vector
上的 F12 現在會跳至vector
,並會自動填入範本列,讓開發人員可以快速檢查並修改範本參數。在下列範例中,使用 移至定義 或按 F12 會在範本欄中填入類型和配置器。
![]()
可設定的配置完成📣
配置匯入完成選項可以讓您控制在匯入完成清單中顯示的標頭。
您現在可以控制當您輸入
#include
時,哪些標頭會出現在包含的自動完成清單中。[工具] → [選項] → [文本編輯器] → C/C++ → IntelliSense → [包含樣式以供建議]中的下拉選項現在會影響包含建議和包含完成項目,並具有以下精簡的行為:
- 核心指導方針(預設):對於相對路徑使用引號,對於其他則使用角括號。
- 引號模式:所有標頭都使用引號,唯獨標準標頭使用角括弧。
- 角括弧模式:針對屬於包含路徑的所有標頭使用角括弧。
為建議設定加入樣式
之前,不論使用的語法為何,所有標頭 (除了相對標頭) 都會出現在建議中。 透過此更新,您可以調整在使用
#include <> and #include ""
時,標頭建議的顯示方式。📣 請參閱功能票證 (英文) 以分享您的意見反應並繼續對話。
常見的使用者回報 Bug 修正
- C++ CLR 類別庫 (.NET) 專案中的 String::Format 錯誤
- 偽陽性存活期程式碼分析警告 C26847:不要傳回無效的指標
- 17.12.0 中的回歸:使用 /CLR 編譯時,替代失敗是錯誤 C3699
- Sanitizer 覆蓋範圍會導致不良的程式碼生成
- 具有虛擬繼承的階層中的 lambda 表達式中的編譯錯誤
- 安裝程式無法更新至 17.12.0,並出現 powershell 腳本執行錯誤
- 變更解決方案時的解決方案總管例外狀況
📣 查看已加入此版本之所有用戶回報 之錯誤修正 的完整清單。
重要
已對 Domain-Specific 語言模型串行化進行重大變更。 針對包含自定義屬性類型的模型使用預設串行化機制的開發人員,必須針對這些自定義屬性類型新增 TypeConverters。 如需如何執行這項操作的範例,請參閱 自定義檔案儲存和 XML 串行化。
我們全體團隊感謝您選擇 Visual Studio! 如需最新的更新、資源和新聞,請參閱 Visual Studio Hub 並保持聯繫。
祝各位程式撰寫愉快!
Visual Studio 小組
注意
此更新可能包含個別授權的新 Microsoft 或第三方軟體,如第三方通知或其隨附授權中所述。