路遙工具箱是一款基於C# WPF開發的開源工具箱軟體,旨在解決開發過程中常見的功能性需求,並將其自動化。目前已經擁有十數項實用功能,讓你的開發工作事半功倍!
- 專案開源位址:https://github.com/landv/LuYao.Toolkit
- 作者網站說明:https://www.coderbusy.com/luyao-toolkit
工具箱功能列表:

一、工具箱功能一覽
- 資料生成
- 生成GUID:快速產生唯一識別碼。
- 生成密碼:自動產生強密碼。
- 生成AES金鑰:輕鬆產生AES加密演算法所需的金鑰。
- 生成RSA金鑰:一鍵產生RSA非對稱加密演算法所需的公鑰和私鑰。
- 生成XCode實體:根據JSON資料生成XCode實體類別。
- 範本批次生成:根據範本檔案批次產生程式碼。
- 網路工具
- IP查詢:查詢指定IP位址的詳細資訊。
- Ping檢測:測試指定主機的網路連通性。
- Whois資訊查詢:查詢指定域名的Whois資訊。
- User Agent解析:解析User Agent字串,取得裝置和瀏覽器資訊。
- URL分析器:解析URL,取得各個部分的詳細資訊。
- 遠端桌面
- 流量監控:即時監控網路流量,幫助你了解網路使用情況。
- 格式轉換
- Unix時間戳轉換:將Unix時間戳轉換為日期時間。
- RSA金鑰格式轉換:轉換RSA金鑰的格式,方便在不同平台使用。
- JSON格式化:美化和格式化JSON資料。
- XML格式化:美化和格式化XML資料。
- 進制轉換:支援二進位、八進位、十進位和十六進位之間的轉換。
- XSLT轉換:使用XSLT樣式表轉換XML資料。
- JSON轉換:支援JSON和其他格式(如XML、YAML、CSV)之間的轉換。
- Liquid轉換:使用Liquid模板引擎轉換資料。
- RGB顏色轉換:將RGB顏色值轉換為十六進位或CSS顏色名稱。
- JSON轉C#實體類別:根據JSON資料生成C#實體類別。
- JSON轉CSV:將JSON資料轉換為CSV格式。
- Postman資料轉換:將Postman匯出的資料轉換為其他格式。
- Yaml轉Json:將Yaml格式的資料轉換為Json格式。
- 文字工具
- 谷歌翻譯:使用谷歌翻譯API進行文字翻譯。
- 多行拼接:將多行文字拼接為單行文字。
- 日誌檢視器:檢視和分析日誌檔案。
- 全形半形轉換:將全形字元轉換為半形字元,或反之。
- CSV檢視器:檢視和編輯CSV檔案。
- 正則測試:測試正則表達式是否匹配指定的文字。
- 有道辭典:線上查詢單字的釋義和翻譯。
- 哈希計算器:計算文字的哈希值。
- 編碼互轉:支援常見編碼(如UTF-8、GBK、ISO-8859-1)之間的轉換。
- 文字壓縮:壓縮和解壓縮文字。
- URL編碼:對URL進行編碼和解碼。
- HTML編碼:對HTML程式碼進行編碼和解碼。
- ASCII85編碼:對ASCII85編碼進行編碼和解碼。
- BASE64編碼:對BASE64編碼進行編碼和解碼。
- BASE62編碼:對BASE62編碼進行編碼和解碼。
- BASE16編碼:對BASE16編碼進行編碼和解碼。
- 檔案處理
- 編碼識別:自動識別檔案的編碼格式。
- 檔案校驗:校驗檔案的完整性和一致性。
- 圖片處理
- 圖片轉圖示:將圖片轉換為ICO圖示。
- Gif分割:將GIF動畫分割為多個靜態圖片。
- 圖片轉Base64:將圖片轉換為Base64編碼。
- Base64轉圖片:將Base64編碼轉換為圖片。
二、專案原始碼組織結構
這一節只簡單介紹如何檢視工具箱原始碼,原始碼倉庫截圖:

路遙工具箱的原始碼組織結構清晰,易於理解和維護。以下是專案組織結構:

如何檢視工具箱程式碼?
以其中一個【生成 GUID】工具舉例。
- 開啟【生成 GUID】工具
點擊左側邊欄第2個小圖選單,點擊【生成 GUID】:

- 偵錯狀態,點擊工具按鈕定位檢視
標題列選擇【選取元素】,再點擊【重新生成】按鈕,在VS的即時視覺化樹可定位到【重新生成】按鈕的xaml程式碼:

進而可以定位到檢視程式碼檔案:LuYao.Toolkit/Channels/Gens/GenGuid.xml

【重新生成】按鈕繫結的命令是GenCommand,接下來查詢ViewModel功能邏輯程式碼。
- 查詢命令執行程式碼
你可以全域搜尋GenCommand(但你可能搜尋不到。。。),但更方便的還是直接查詢檢視對應的ViewModel,功能程式碼在LuYao.Toolkit.ViewModels工程相應的組織(與GenGuid.xml檔案所在目錄相同)目錄下LuYao.Toolkit.ViewModels/Channels/Gens/GenGuidViewModel.cs

命令GenCommand和命令處理方法Gen()是怎麼關聯的?
[RelayCommand]
private void Gen()
{
this._guid = Guid.NewGuid();
var fmt = this.Formats.Find(i => i.IsSelected) ?? this.Formats[0];
this.Result = fmt.Formater(this._guid);
}
RelayCommand由框架CommunityToolkit.Mvvm提供,由框架自動提供命令與命令處理方法映射關係,具體使用方法請點擊幫助文件。
三、總結
有興趣可複製原始碼或直接下載工具使用學習,位址還是在GitHub倉庫中:https://github.com/landv/LuYao.Toolkit
以上就是路遙工具箱的主要功能,每個功能都能幫助你提高開發效率,解決開發過程中的痛點,對功能實現感興趣可開啟原始碼檢視。趕快下載體驗吧!
- 專案開源位址:https://github.com/landv/LuYao.Toolkit
- 作者網站說明:https://www.coderbusy.com/luyao-toolkit