﻿# 解決 Visual Studio 2017 Community 無法使用 Snippet Pack 擴充套件問題

我個人長久以來都使用 Visual Studio Enterprise 版本，不過最近由於錄製了【[Visual Studio 2017 開發環境全面解析](https://www.udemy.com/vs2017go/?couponCode=BLOGUSER2018)】線上課程，所以特別安裝了 Visual Studio 2017 Community 版本來進行教學，以免學員看到我教一些他們無法使用的功能。今天台北大雨，宅在家裡額外錄製了一些課程免費送給已經報名的學員，卻意外發現原來透過 Visual Studio 2017 Community 安裝任意 Snippet Pack 擴充套件，預設竟然都無法使用擴充套件安裝的 Code Snippets (程式碼片段)，今天我終於研究出如何正常使用的方法！

這邊我就以我去年製作過的 [ASP.NET MVC Snippet Pack](https://marketplace.visualstudio.com/items?itemName=vs-publisher-123005.ASPNETMVCSnippetPack) 擴充套件為例，請使用 Visual Studio 2017 Community 中的擴充套件管理員，先把擴充套件安裝起來，如下圖示：

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/fc31ed9f4803464c375c-image_3087.png)

  

我這個擴充套件，可以讓你在 Visual Studio 2017 使用 **mvcaction** 與 **mvcpostaction** 這兩個程式碼片段 (Code Snippets)。這兩個程式碼片段，在 Visual Studio 2015 以前，許多 ASP.NET MVC 開發人員都會用，不過到了 Visual Studio 2017 一直都沒有提供，索性我就做了這個擴充套件了。

  

如果你用的是 Visual Studio 2017 Community 版本，你可以立刻到 ASP.NET MVC 的 Controller 中測試一下，你會發現 **mvcaction** 與 **mvcpostaction** 這兩個程式碼片段完全無法使用。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c6dbbe7a3ff7d31f2640-image_3088.png)

  

如果你按下 **Ctrl-K-X** 快速鍵，開啟「插入程式碼片段」，也是一樣找不到的。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/6071570aed7aa4656516-image_3089.png)

  

雖然無法使用剛安裝的程式碼片段，但是在 **\[工具\] / \[程式碼片段管理員\]** 中，又可以看到完整的、已安裝的程式碼片段，這一切實在是太詭異了。我當然也嘗試過重新啟動 Visual Studio 2017 Community 好幾次，就是無法使用程式碼片段！(生氣)

  

就在我研究了幾個小時後，終於讓我研究出一招，可以讓你的 Visual Studio 2017 Community 正常使用這些程式碼片段的做法！

請依照以下 SOP 步驟進行操作，即可正常修復異常的程式碼片段功能：

1.  開啟 **\[工具\] / \[程式碼片段管理員\]**，並將 **語言** 切換到 **CSharp**
2.  點擊透過擴充套件安裝的程式碼片段目錄: **AspNetMvcSnippetPack**
3.  全選程式碼片段目錄的**位置**路徑 (如下圖示)
4.  複製**位置**路徑到剪貼簿
5.  點擊 **\[加入\]** 按鈕，並貼上 **步驟 4** 的 **位置** 路徑，然後按下 **Enter** 兩次
6.  最後按下 **\[確定\]** 按鈕，關閉**程式碼片段管理員  
      
    **![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/62ef6d5cd1e18cb117c9-image_3090.png)

  

這個問題，適用於所有透過擴充套件管理員安裝的 Code Snippets 喔，照著上述步驟，即便你用免費的 Visual Studio 2017 Community 社群版，也可以正常的使用所有的程式碼片段！

  

這個問題，我也剛建立起一個 [Unable use Code Snippets in Visual Studio 2017 Community - Developer Community](https://developercommunity.visualstudio.com/content/problem/189530/unable-use-code-snippets-in-visual-studio-2017-com.html) 問題回報，有空的人看能不能幫我提出的這個問題投個票，希望 Visual Studio 2017 可以盡早修復這個問題！ :-)

[![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/cb84a73b6b4f4f83aa0d-image_thumb_227.png)](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/4c0db181379b536c2946-image_3091.png)

  

**相關連結**

-   [ASP.NET MVC Snippet Pack - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=vs-publisher-123005.ASPNETMVCSnippetPack)
-   [Bootstrap Snippet Pack - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=EricLebetsamer.BootstrapSnippetPack)
-   [JavaScript Snippet Pack - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.JavaScriptSnippetPack)
-   [Angular 2 Snippet Pack - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.Angular2SnippetPack)
-   [React Snippet Pack - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.ReactSnippetPack)
-   [HTML Snippet Pack - Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=MadsKristensen.HTMLSnippetPack)
