本文說明如何在Visual Studio中尋找、安裝及管理擴充功能套件。 延伸模組 是在 Visual Studio 內執行的程式碼套件,並提供新的或改進的功能。 延伸模組可以是將功能新增至 Visual Studio 的控件、範例、範本、工具或其他元件,例如,Live Share 或 GitHub Copilot。
如需建立 Visual Studio 延伸模組的詳細資訊,請參閱 Visual Studio SDK。 如需使用擴充功能的詳細資訊,請參閱visual Studio Marketplace 上的個別擴充功能頁面。 如需尋找延伸模組的相關資訊,請參閱 Visual Studio 2022 中我的最愛延伸模組在哪裡? 部落格文章。
注意
若要深入瞭解目前處於預覽狀態的擴充性模型,請參閱使用 VisualStudio.Extensibility 建置更好的延伸模組 (預覽 3) 部落格文章。
本文說明如何在Visual Studio中尋找、安裝及管理擴充功能套件。 延伸模組 是在 Visual Studio 內執行的程式碼套件,並提供新的或改進的功能。 延伸模組可以是將功能新增至 Visual Studio 的控件、範例、範本、工具或其他元件,例如,Live Share 或 GitHub Copilot。
如需建立 Visual Studio 延伸模組的詳細資訊,請參閱 Visual Studio SDK。 如需使用擴充功能的詳細資訊,請參閱visual Studio Marketplace 上的個別擴充功能頁面。
使用延伸模組管理員
在 Visual Studio IDE 中,延伸模組管理員是您用來尋找、安裝和管理 Visual Studio 延伸模組的工具。 若要開啟 [擴充功能管理員],請選取 [[擴充功能]>[管理延伸模組]。 或者在搜尋框中輸入 擴充功能, 然後選取 [管理擴充功能]。
左窗格會依 Visual Studio Marketplace 上可用的延伸模組分類(瀏覽)、已安裝的延伸模組,以及具有可用更新的擴充功能。 [漫遊] 索引標籤會列出您在任何計算機或 Visual Studio 實例上安裝的所有 Visual Studio 延伸模組。 其設計目的是讓您更輕鬆地找到您慣用的延伸模組。
選項卡具有用於過濾和排序擴展的按鈕,以及帶您進入 工具>選項 屏幕的齒輪按鈕。
您可以使用篩選按鈕依類別篩選擴充功能。 已安裝延伸模組的類別包括已啟用、已停用和不相容。 在 17.14 和更新版本中,您也可以依 [ 擱置中] 進行篩選,這會依延伸模組進行篩選,其中包含下次重新啟動 Visual Studio 時套用的更新。
使用排序按鈕,依延伸模組名稱、延伸模組作者或日期排序。
尋找並安裝延伸模組
您可以從 Visual Studio Marketplace 或 Visual Studio 中的擴充功能管理員安裝擴充功能。
若要從 Visual Studio 安裝延伸模組:
選取 擴充功能>管理擴充功能。 尋找您要安裝的延伸模組。 (如果您知道擴充功能的名稱或部分名稱,您可以在搜尋方塊中搜尋。
選擇 [安裝]。
如果您嘗試安裝具有相依性的擴充功能,安裝程式會判斷是否已安裝它們。 如果未安裝它們,延伸模組管理員會列出必須先安裝的相依性,才能安裝延伸模組。
安裝擴充功能而不使用擴充功能管理員
.vsix 檔案中封裝的延伸模組可能位於 Visual Studio Marketplace 以外的位置。 Extensions>Extension Manager 對話框無法偵測到這些檔案,但您可以按兩下檔案或選取檔案,然後選取 Enter來安裝 .vsix 檔案。 如果您遇到許可權問題,請確定您以系統管理員身分執行 Visual Studio。 之後,只要遵循指示即可。 安裝擴充功能時,您可以使用擴充功能管理員加以啟用、停用或卸載。
注意
- Visual Studio Marketplace 包含 VSIX 型和 MSI 型延伸模組。 擴充功能管理員無法啟用或停用 MSI 型擴充功能。
- 如果 MSI 型延伸模組包含 extension.vsixmanifest 檔案,則延伸模組會出現在延伸模組管理員中。
卸載或停用擴充功能
如果您想要停止使用擴充功能,可以停用或卸載它。 停用擴充功能會保持安裝,但不會啟動。 尋找擴充功能,然後選取 [卸載] 或 [停用]。 重新啟動 Visual Studio 以卸除已停用的擴充功能。
注意
您可以停用以 VSIX 為基礎的擴充功能,但不能停用透過 MSI 安裝的擴充功能。 MSI 安裝的擴充功能只能卸載。
管理擴充功能
本節提供管理組織擴充功能、自動更新和無回應通知的相關信息。
使用者專屬與管理員延伸模組
大部分的擴充功能都是個別用戶擴充功能,且會安裝在 %LocalAppData%\Microsoft\VisualStudio\<Visual Studio 版本>\Extensions\ 資料夾中。 一些延伸模組是系統管理延伸模組,並安裝在 <Visual Studio 安裝資料夾中,>\Common7\IDE\Extensions\ 資料夾。
若要保護您的系統免受可能包含錯誤或惡意代碼的擴充功能,您可以限制每一使用者擴充功能只有在 Visual Studio 以一般使用者許可權執行時才載入。 當 Visual Studio 以較高的許可權執行時,這會導致個別使用者擴充功能停用。
若要限制每位使用者載入擴充功能的時機:
開啟 [擴充功能選項] 頁面 ([工具]>[>環境>延伸模組]]。
清除以系統管理員身分執行時 載入每個使用者擴充功能 複選框。
重新啟動 Visual Studio。
自動擴充功能更新
在 Visual Studio Marketplace 上提供新版本時,會自動更新延伸模組。 在後台偵測並安裝新版本的擴充套件。 下次您開啟 Visual Studio 時,將會執行新版本的延伸模組。
如果您想要停用自動更新,您可以停用所有延伸模組的功能,或只停用特定擴充功能。
若要停用所有延伸模組的自動更新,請選取 [延伸模組> 對話方塊中的 [檢視設定] 按鈕。 在 [選項] 對話方塊的 [環境] [>] [擴充功能] 下,取消勾選 [自動更新擴充功能]。
若要停用特定延伸模組的自動更新,請在延伸模組管理員右側的詳細資料窗格中清除 [自動更新此延伸模組] 選項。
在 Visual Studio Marketplace 上提供新版本時,會自動更新延伸模組。 在後台偵測並安裝新版本的擴充套件。 下次您開啟 Visual Studio 時,將會執行新版本的延伸模組。
如果您想要停用自動更新,您可以停用所有延伸模組的功能,或只停用特定擴充功能。
若要停用所有延伸模組的自動更新,請選取 [延伸模組> 對話方塊中的 [檢視設定] 按鈕。 在 [選項] 對話方塊的 [環境>延伸模組] 底下,清除 [自動安裝更新]。
若要停用特定延伸模組的自動更新,請在延伸模組管理員右側的詳細資料窗格中清除 [自動更新此延伸模組] 選項。
本節的其餘部分說明 Visual Studio 2022 17.14 和更新版本中可用的變更。 這些變更可讓您更輕鬆地查看擴充功能更新的情況,並從擴充功能管理員或 工具>選項中管理自動更新設定。
只要開啟 [擴充管理員] 視窗,就會自動觸發更新。 這可確保您始終使用最新功能,並且無需手動啟動更新。
當擴充功能有可用的更新時,您會看到黃色通知資訊列:
此外,套用更新時會出現通知,提醒您重新啟動 Visual Studio,讓延伸模組生效。
您可以在延伸模組管理員的延伸模組頁面上變更自動更新的設定。
「 擱置」 類別可讓您僅檢視具有擱置更新的擴充功能。
自動更新設定
您也可以在「工具選項」>中配置自動更新設定。
從 自動更新中排除的擴充功能 底下的清單顯示不會自動更新的擴充功能。 您可以使用此項目來確保開發生命週期關鍵階段所使用延伸模組的穩定性和一致性。
當機和無回應通知
Visual Studio 會通知您,如果它懷疑延伸模組在上一個會話期間發生當機。 當 Visual Studio 當機時,它會儲存例外狀況堆疊。 下一次 Visual Studio 啟動時,它會檢查堆疊,從最上層開始,往基底方向運行。 如果 Visual Studio 判斷框架屬於已安裝和啟用擴充功能的模組,則會顯示通知。
如果 Visual Studio 懷疑延伸模組導致 UI 沒有回應,也會通知您。
當您看到其中一個通知時,您可以忽略它或採取下列其中一個動作:
選擇 [停用此擴充功能。 Visual Studio 會停用擴充功能,並讓您知道是否需要重新啟動系統,讓停用作業生效。 您可以在 [管理擴充功能] 對話框中,重新啟用 [延伸模組]>。
選取 [再也不會顯示此訊息。
- 如果通知涉及上一個會話中的當機,當與延伸模塊相關聯的當機時,Visual Studio 就不會再顯示通知。 Visual Studio 仍會顯示無回應的通知,無論這種無回應與自己的擴充功能相關,或與其他擴充功能相關的當機或無回應情況。
- 如果通知涉及沒有回應,當擴充功能與無響應相關聯時,IDE 就不會再顯示通知。 Visual Studio 仍然會顯示延伸模組的當機相關通知,以及其他延伸模組的當機相關和無回應相關通知。
選取 [深入瞭解。
選取通知結尾的 X,以關閉通知。 如果擴充功能與未來當機或 UI 無回應相關聯,則會出現新通知。
注意
UI 沒有回應通知或當機通知表示當 UI 沒有回應或當機發生時,其中一個延伸模組是在堆棧上。 這不一定表示延伸模組造成問題。 Visual Studio 的延伸模組可能會呼叫屬於 Visual Studio 一部分的程式代碼,進而造成沒有回應的 UI 或當機。 不過,如果導致UI沒有回應或當機的延伸模組對您而言並不重要,通知可能仍然很有用。 在此情況下,停用擴充功能可避免未來UI沒有回應或當機。
市集保護
適用於延伸模組的 Visual Studio Marketplace 會採用數種機制來保護您免於惡意延伸模組:
惡意代碼掃描:Marketplace 會在每個已發佈的延伸模組套件上執行惡意代碼掃描,以確保其安全性。 掃描使用數個防病毒引擎,針對每個新延伸模組和每個延伸模組更新執行。 在掃描全部清除之前,延伸模組不會發佈在 Marketplace 中供公眾使用。
已驗證的發布商:發布商可以透過證明網域擁有權來驗證 (藍色核取記號) 自己的身分。 它顯示發布者已證明 Marketplace 的網域名稱擁有權。 它還表明 Marketplace 已驗證網域的存在以及發布商在 Marketplace 上的良好信譽至少六個月。
異常使用情況監視:Marketplace 會監視延伸模組的下載和使用模式,以偵測異常行為。
名稱搶注:Marketplace 會阻止延伸模組作者竊取官方發行者 (例如 Microsoft 或 RedHat) 的名稱,以及熱門延伸模組 (例如 GitHub Copilot) 的名稱。
封鎖清單:如果報告並驗證惡意延伸模組,或在延伸模組相依性中發現弱點,則會從 Marketplace 中移除延伸模組。
延伸模組簽章驗證:Visual Studio Marketplace 會在發佈所有延伸模組時簽署它們。 當您安裝延伸模組時,Visual Studio 會檢查此簽章,以驗證延伸模組套件的完整性和來源。
秘密掃描:Marketplace 會自動掃描每個新發佈的延伸模組,以取得 API 金鑰或認證 (例如 Azure DevOps PAT 權杖) 的秘密。 如果偵測到任何秘密,則會封鎖發佈,以防止潛在的安全風險。
在 Visual Studio Marketplace 中的安全性和信任部落格文章中瞭解這些措施。
樣品
當您安裝線上範例時,解決方案會儲存在兩個位置:
工作複本會儲存在您建立專案時所指定的位置。
另一個主複本會儲存在您的電腦上。
您可以使用 [延伸模組>管理延伸模組] 對話方塊來執行下列範例相關工作:
列出您已安裝的範例母版。
停用或卸載範例的母版複本。
安裝範例套件,這是與技術或功能相關的範例集合。
安裝個別的在線範例。
檢視發佈已安裝範例之原始程式碼變更時的更新通知。
當有更新通知時,請更新已安裝範例的主要複本。