2023年12月11日 星期一

使用 SHFB 工具來建立說明文件

有些場合需要提供Lib 或元件的說明文件,雖然我覺得引用 Lib 並且同時有輸出的 .xml 檔,這樣在寫

程式的時候有相對應的輸入提示也就足夠了,畢竟隨著時光推移註解有時候還會失準(誤),依據情境

找了對應的套件,Sandcastle Help File Builder(SHFB),紀錄實際操作...


如何安裝


找到這套Sandcastle Help File Builder(SHFB),目前版本是 v2023.7.8.0 ,最後更新時間大概落在七月,

有官方的說明文件,看起來似乎也是用自身的工具產生的,以下來說明安裝步驟


來到 release 頁面,下方會有安裝檔(installer)跟相關原始碼可以下載


下載安裝檔後解壓縮


點選 .exe 檔案開始安裝


安裝過程大部分是「Next」,亦可隨時 「Previous」



來到 Sandcastle Help Fle Builder and Tools 步驟時,中間下方有個 「Install SHFB」 按鈕


點擊後會彈出另外的視窗


勾選同意,然後下一步


使用預設路徑安裝即可


點選 Install


等待完成安裝


安裝完成


再回到Sandcastle Guided Installation 的安裝視窗,繼續往下個步驟安裝


來到 SHFB Visual Studio Package 的步驟


這邊說明安裝 VS 套件,並且預設作用於目前系統中的 Visual Studio Community 2022 版本,

點選 「Install Package」 按鈕


等待初始化後安裝


完成安裝後,再前往下個步驟

來到 MAML Snippet Files 步驟,請點選 「Install Snippets」


安裝完成後,緊接著持續往下個步驟,一路可以到 Completion



檢視安裝成果

搜尋工具列 Sandcastle 應該會找到 GUI 項目


開啟 VS2022,建立新專案,搜尋選項會有 Documentation


Documentation Project 使用

接著來說明 Documentation 專案如何使用


在方案中新增 Documentation 專案,以下為預設內容


加入要產生文件的專案


以上點選後,選擇要加入的專案檔(.csproj


成功加入後,會在 Documentation Sources 目錄下產生Link


設定輸出文件檔案

在要育產生文件的專案上點選滑鼠右鍵,點選「屬性」> 建置 > 輸出 / 文件檔案

Documentation Project 設定

上一段加入了要產生文件的專案,接下來針對文件專案有哪些項目可以設定




叫出屬性視窗


預設編輯畫面如下


可切換 Framework version,預設是 4.7.2,亦有 .net core


可以選擇文件支援哪些程式語言,預設會有以下4種勾選


切換 presentation style,預設為Default 2022


若調整為 VS2013,則有HTML Help1 (chm) 、 Website (HTML/ASP.NET)、MS Help Viewer (mshc) 等類型

首選HTML Help1 (chm) 、 Website (HTML/ASP.NET)兩種格式,須注意若勾選 MS Help Viewer (mshc) 

檔案名稱不能有 「.」、「&」、「#」,該項目為 離線文件



來到 Help File 項目

這邊可以調整檔案名稱


來到 Visibility 選項

這邊是勾選哪些文件內容要被輸出,如 internal member 或是 inherited base class members


一般有許可以忽略inherited .net framework members、inherited base class members,

並且開啟 internal members、protected member of sealed classes


組件版號設定

針對組件版號,可以在 AsseblyInfo.cs 檔中檢視



Lib 專案

開啟方案總管的屬性,在套件 \ 一般 頁籤


組件版本沒有輸入就會是 1.0.0.0,這邊測試輸入 1.0.0.12345


產品版本





文件的版號設定


先調整 welcom 內容

可以透過 「ContentLayout.content 」來管理,點選 ContentLayout.content


說明 ContentLayout.content 設定




建置專案並開啟檔案.chm

檔案目錄預設會放在 Help 資料夾下

Documentation\Help


Link Text 會連結到 Version History




此時修改文字



若沒有填就會預設帶入文字



新增版號子版號



新增完成後



編輯內容,須將較新的版本往上提升


其中 Link tag 的 href 屬性,內容為 VersonHistory 的ID


若要在內文加上圖片

使用 <mediaLink>M<image xlink:href="123" /></mediaLink>,其中 裡面只能有一個 image 標籤

href 內容需要 檔案的 ID 不是檔名


檔案放置


可以檢視圖檔屬性(F4)


將說明文件架站


此時輸出會需要有 Website 類型的輸出,如下圖


開啟 IIS 管理員

Default Web Site 滑鼠右鍵「新增應用程式」


將實體目錄指到 Help 資料夾即可


檢視應用程式


結果呈現,其中 WebSite 的好處是,有支援搜尋內文的功能


解決命名空間紅字

有時候文件會有紅字,如下圖


此時需要設定 namespace summaries(參考)


接著會列出相關組件資訊,並且一一設定 namespace 即可修除

透過 GUI 工具直接編輯 Documentation Project

前面我們有提到,若是成功安裝了Sandcastle 工具,工具列會有個 GUI 的項目,方便你快速編輯專案


開啟工具後,將既有的文件專案開啟


找到你的文件專案(.shfbproj)


開啟後就會出現類似的編輯內容



以上打好收工



【參考】


沒有留言:

張貼留言