有的,舉個例子,開發 Cortex ARM 系列、FPGA 系統雛型晶片的工程師們,也許會接觸過 Keil C,再更進階一點,電子電路相關領域的專業人員,會需要一個分析或是 Pattern 的軟體。
National Instrument - Digital Pattern Editor
上面介紹的這個 NI - Digital Pattern Editor 這套軟體,就是為晶片測試領域的專業人員而開發的,它的確也以視覺化形式的 IDE 呈現。
所以,究竟為什麼要來探討 SharpDevelop,為什麼要學它來開發 IDE ? 有什麼好處 ?
首先, SharpDevelop 早就在 2015 後沒有繼續更新了,框架版本維持在 4.5 ,而且是使用 C# + WPF ,這就足以打擊很多的開發者願意繼續貢獻這套軟體,再來是,它是 32bit 的軟體,並不對 64bit 軟體繼續支援 (即便網友正在實驗,也不見得是明朗的結果)。
要深入研究這套 IDE,會探索到 Language Binding 的部分,我們可以從探索面切入去了解一個 IDE 形式的軟體,檔案樹、專案檔、格式、語言特有編譯、語言特有副檔名是怎麼製作出來的。
為了整合整套應用程式變成 IDE ,還有那些可以分開頁籤功能的 Avalon Dock ,深入研究 IDE 運作及整個邏輯,打造成下面軟體的樣子,大概就是粗糙看用的工業風 IDE 吧。
經過我數週時間優化界面的 Sharpdevelop
Menu 也經過大幅調整,變得比較大氣:
專案 Tab 也加上有 Hover 效果的 Close(原本沒有 close):
好,到底為什麼要選擇這項技術,是因為需要整併舊有的 Windows C# Form 所製作的 IDE,由於結構龐大,許多 Project Setting, Project Tree 並沒有寫好,我們需要一個有 Project Tree 方便管理的框架,同時又要能支援 C++ Interop 硬體溝通的情境,故選擇 Sharopdevelop。
其實在選擇 SharpDevelop 之前,我嘗試編譯 MonoDevelop 好幾個禮拜,但是一直都失敗,它現在只在 OS X 上面可以編譯罷了,這明顯就是要我多一道工去修改 SharpDevelop。
所以,準備好的話,就開始了!
目的
這個系列研究的目的,是希望製作自己的 AddIns ,包含開專案、自定專案檔、Language Binding、開特定副檔、編譯事件,而且還要能打開自定的 Windows Form 或是 WPF ,其中 Forms, WPF 都可以相容被開啟。
Raw 專案: 編譯順序、修改專案
這塊就很經驗談,因為 SharpDevelop 有編譯順序的問題,甚至還得調整專案的 Properties,所以在這個小節會帶你編譯完到可以開啟 SharpDevelop。
第一動: 下載 Sharpdevelop 專案回來 (下載 release 5.0 的):
開啟專案,會告訴你有一個專案 Unsupport,但不用管它。
然後是專案的 .NET Framework 版本,建議 4.5 以上要自己慢慢測,雖然可以用很多新的 Nuget 套件,但是穩定度不曉得,建議從 4.5 慢慢往上升,我以下用 4.6.1 也是正常的。
之後,要把 SharpDevelop 設定成主專案:
編譯順序是
- AddIns 底下,除了 Analysis 以外,其他 AddIns 多選,右鍵 Build
- 編譯所有 Libraries 的東西
- 編譯 SharpDevelop 本身
- 編譯 Core, Presesntation, WinForms, Develop
- 多選 Analysis 除了 Profiler 以外的專案編譯
- 編譯 Profiler 底下的東西,一個一個編譯
- 視情況看看 Build Worker 那堆能不能編譯,跳錯也沒差
沒有留言:
張貼留言