路遙工具箱是一款基於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