本人.net 程式猿一枚,平常最大的愛好就是coding ,尤其是對c#情有獨衷,數年前,因為某個同事的一句話“大公司都有自己的代碼框架,甚至是代碼工具”,因為當時在一個小公司就職,而我也只是一個小小的團隊帶頭人,心裡就莫名有了一個想法,做一款代碼工具,一款很有自我特色,從公司項目開發,到項目維護的 ...
本人.net 程式猿一枚,平常最大的愛好就是coding ,尤其是對c#情有獨衷,數年前,因為某個同事的一句話“大公司都有自己的代碼框架,甚至是代碼工具”,因為當時在一個小公司就職,而我也只是一個小小的團隊帶頭人,心裡就莫名有了一個想法,做一款代碼工具,一款很有自我特色,從公司項目開發,到項目維護的代碼助手,緊密貼合公司的開發框架和業務,甚至都想打上公司的LOGO,走哪裡就讓人看到這是我們公司自己的工具(當時我們經常會出差,去現場開發)。之前也用過叫做動軟代碼生成器的工具,因此動軟代碼生成器就成了我的標桿。從最初的實體類代碼生成到後面主流資料庫管理客戶端,再到各種插件及插件框架,就做到了目前開發助手V4.8.X 。
目前做成了這個樣子:
從14年到現在經歷了4,5個年前,每當有空閑時間就會拿起項目coding ,一個人構思設計(前期有動軟代碼生成器,SQL 2005 作參考,後面用過 pl\sql ,pgadmin,Navicat Forsql ,NavicatForPostgreSql 也做了些功能借簽),一個人編碼,一個人測試,修複BUG及優化和完善,堅持到現在,為此犧牲掉很多周末時光,熬過很多個夜晚,感觸最深的是編寫工具的時間多,真正用在工作中的時間少。為了N年前的一句話,一個衝動的想法,為了一個新功能完成後的那份喜悅,為了心中某個情懷,對C#,對winform,自定義用戶控制項,對GDI繪圖的喜愛,一路疲憊,卻一路堅持。
彙報一下開發助手目前的狀況:
這是一款面向開發人員的輔助助手,它集資料庫管理(目前支持sqlserver,sqlite,mysql,postgresql),代碼生成(支持從資料庫生成實體映射類,資料庫操作DAL中間層),資料庫文檔生成,代碼收藏夾(支持C#,SQL,Javascrip,Html,XML,Python語法高亮),富文本編輯,個人記事及待辦事項提醒,插件管理等功能。目前已開發到V4.8.X 版本,後期準備擴展:資料庫關係圖,執行計劃,文本編輯器擴展多行同步編輯的功能。
項目中主要用到了.net 4.5框架下的winform,ado.net,自定義控制項,T4模板,GDI繪圖等技術,站在巨人肩上看得更高更遠,藉助開源,擁抱開源,這裡也列出助手中用到的開源框架及技術:
1.ICSharpCode.TextEditor 一個強大的代碼編輯器控制項來自開源項目SharpDevelop,支持c#,java,html,javascript等語法高亮,摺疊,智能提示
2.WeifenLuo.WinFormsUI.Docking Winform程式開發中佈局控制項,可以實現類似於Visual Studio的視窗停靠、拖拽等功能
3.Poor Man's T-SQL Formatter 一個SQL格式化的開源項目 地址:https://github.com/TaoK/PoorMansTSqlFormatter
4.JSBeautify javascript 代碼格式化開源項目 地址:https://github.com/praveenvijayan/js-beautify
5.NPOI 一款execel ,word 操作神器是POI 的.net 實現 地址:https://github.com/tonyqus/npoi
6.NVelocity 模板引擎 地址:http://nvelocity.sourceforge.net/
除此還從很多地方借鑒了不少的代碼,具體出處記不清楚了也不再列出,一併表示感謝。開源是一種精神,也是一種學習的途徑。完善開發助手的同時,通過開源也使我的技術水平得到提升,作為回報,開發助手已於2016年在碼雲上發佈源碼,歡迎大家下截和點贊。
之前本人很懶,認為代碼就是最好的文檔,也擔心自己文筆不好,理解不深,所以一直以來沒有寫過相關的文章介紹。如今想想,誰都有一個相關的過程,就像學技術一樣,逐漸學習,步步提高,重要的是學習東西總要有點總結,為自己也為更有有共同愛好的人,所以打算後期陸陸續續寫一些關於我的開發助手相關的文章。
今晚暫寫於此吧,最後差點忘了,貼一下開發助手的項目地址:https://gitee.com/sqlorm/DevelopAssistant