Alan Tsai 的學習筆記


學而不思則罔,思而不學則殆,不思不學則“網貸” 為現任微軟最有價值專家 (MVP)、微軟認證講師 (MCT) 、Blogger、Youtuber:記錄軟體開發的點點滴滴 著重於微軟技術、C#、ASP .NET、Azure、DevOps、Docker、AI、Chatbot、Data Science

[打造自己的template-建立一致性程式碼][06]建立Item Template

建立Item Template
圖片來源:https://pixabay.com/en/annual-report-book-brochure-686343/

在上篇([05]建立多專案(multi project)的Template)了解了如何建立Multi Project了之後, Project Template基本上就告一個段落了。

在這篇則是針對另外一種Template:Item Template的建立方式做一個介紹。

建立Item Template

Item Template是在建立在專案裡面項目的時候可以選的一種template。以我們的例子來說,今天要寫一個ProcessTemplate,那麼最快的方式就是建立一個class繼承BaseExecuteProcessTemplate

因此假設在建立class的時候,這個繼承關係就建立好了,開發者根本不需要看文件確認繼承的class名稱,加快開發者開發並且程式碼一致,這就是Item Template的價值所在。

如果要建立一個Item Template,基本上和Project Template差不多:

  1. 透過匯出的方式建立
  2. 丟到正確路徑安裝到VS
  3. 測試結果

透過匯出的方式建立

想必在建立Project Template匯出的時候,應該有注意到另外一個選項是Item Template。

因此,就是透過選Item Template、再來選擇哪個Class(只能夠單選)、再來選擇要包含的dll最後填完資訊就匯出完成了。

同Project Template一樣,匯出的路徑一樣在(預設)%userprofile%\Documents\Visual Studio {version}\My Exported Templates
匯出選擇Item Template
匯出選擇Item Template

選擇要匯出的檔案,只能單個檔案

再來可以選擇要Reference的dll
這邊reference的時候不會包含實際的dll,所以如果那台機器沒有裝那個dll在gac - 基本上會有問題。因此不建議加入非gac的dll

加入相關資訊 - 然後完成
同Project Template一樣,不建議勾選 Automatically Import the template into visual studio

丟到正確的路徑安裝到VS

同Project Template一樣,Item Template也有分兩個位置:

  1. 系統等級 - VS安裝的時候
  2. 使用者等級 - 個人安裝範本的位置
系統等級

這個放的位置在:

\{VisualStudioInstallationDirectory}\Common7\IDE\ProjectTemplates\{Language}\{category\\{Locale}\

舉例來說:

c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033\WebApplicationProject40\

這個template是VS 2017在C#->Web->英文(1033)的WebApplicationProject40專案位置

一般來說,這邊路徑的template不會去動

使用者等級

這個預設放在: \{My Documents}\{Visual Studio Version}\Templates\ItemTemplates\{Language}\

例如: C:\Documents and Settings\UserName\My Documents\Visual Studio Version\Templates\ItemTemplates\Visual C#\放的是C#範本的位置

使用者等級是可以改的,在VS裡面的Option -> Projects and Soultion那邊是可以調整的,因此如果等一下範本匯入沒有作用,確認一下這邊的路徑是否正確。
設定的畫面

因此把匯出的zip檔案丟到正確的位置(如果需要「分類」記得依照結構建立即可,如果不確定請參考:[04]了解vstemplate來微調匯出的Template和強制VS更新Template的方式#管理Project Template到某個分類


丟入正確的路徑

測試結果

如果丟入路徑正確,可以再建立的時候找到

image
建立Item
假設VS沒有出現,可以把cache刪掉看看,cache路徑%appdata%\Microsoft\VisualStudio\ItemTemplatesCache。(如果不清楚可以參考[04]了解vstemplate來微調匯出的Template和強制VS更新Template的方式#更新template - 如何讓vs重新刷新)只需要注意Item Template是ItemTemplateCache

Item Template和Project Template的不同之處

打開vstemplate會發現,其實Item Template和Project Template基本上差不多,唯一的主要不同之處在於vstemplate裡面的VSTemplateType="Item"

所以之前章節提到的微調其實也是適用於在Item template裡面。

甚至可以透過微調的方式達到Item Template會建立多個檔案和資料夾。不過這個留在外來在介紹。

結語

到目前為止其實建立Project Template和Item Template基本上已經沒有什麼問題了,其實會匯出和了解vstemplate就能夠打造出適合自己的template。

不過到目前為止應該會發現到這種方式有幾個不方便之處,其中很大一個部分就是版控(也因為這樣這幾篇其實都沒有source code可以參考)。

因此在接下來將會專注于如何讓建立template這件事情更容易版控和更容易安裝和使用。

參考資料

[04]了解vstemplate來微調匯出的Template和強制VS更新Template的方式
微調template的相關資訊和常見的問題。
How to: Create Item Templates
官方介紹建立Item Template

如果文章對您有幫助,就請我喝杯飲料吧
街口支付QR Code
街口支付QR Code
台灣 Pay QR Code
台灣 Pay QR Code
Line Pay 一卡通 QR Code
Line Pay 一卡通 QR Code
街口支付QR Code
支付寶QR Code
街口支付QR Code
微信支付QR Code
comments powered by Disqus