日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sharpdevelop学习

發布時間:2025/3/20 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sharpdevelop学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Sharpdevelop的項目結構

Sharpdevelop整個的體系結構大體上分為三個部分,分別如下
Libraries

這一部分定義了整個解決方案所用到的一些獨立的類庫,它們本身可以認為是獨立于整

個解決方案的,沒有引用任何其它類庫,因此它們可以很容易的應用到第三方軟件中。

這里面對我們最重要的有兩個,分別是ICSharpCode.TextEditor和NRefactory.
Main

這一部分是最重要的部分,整個IDE的大部分業務邏輯都在這一部分實現,也是最復雜

的部分,它引用了Libraries里面的所有類庫。

對我們來說,最重要的是這兩個項目ICSharpCode.SharpDevelop和

ICSharpCode.SharpDevelop.Dom
文檔對象模型(DOM)是與平臺和語言無關的接口,允許程序和腳本動態地訪問和更新

文檔的內容、結構和樣式。
Addins

這一部分定義了項目中用到的插件,雖然理論上說它們不是IDE必不可少的部分,但是

它們的存在是整個項目的功能得到了很好的擴充。它們會引用上面兩個部分中的一些類

庫。

Sharpdevelop學習(2)
調試Sharpdevelop

對于已經存在的項目,最好的學習方法就是通過調試來了解它的運行原理和設計思想,

當然Sharpdevelop也不例外,下面我們就簡單介紹一下如何對它進行調試。

因為Sharpdevelop的一些項目使用VS的IDE打不開,所以最好的方法還是使用

Sharpdevelop本身進行調試。

首先找到Main文件夾,然后找到StartUp項目,這個就是解決方案的入口項目,把它設

置為啟動項目。

該項目下有一個SharpDevelopMain.cs文件,里面有一個Main方法,該方法既是程序的

入口點,通過跟蹤此入口點就可以順藤摸瓜,弄清楚整個系統的運行脈絡。


?
系統運行路線圖

系統運行起來以后,首先會去調用SharpDevelopMain的RunApplication方法,在此方法

里,系統首先會得到一些文件夾信息,比如根目錄(ApplicationRootPath),配置文

件(ConfigDirectory)的目錄,緩存文件(DomPersistencePath)的目錄,插件文件

(Addins)的目錄;然后系統會創建SharpDevelopHost的實例,在實例化的過程中會調

用CallHelper. InitSharpDevelopCore()方法,在此方法里會初始化一些核心的服務,

比如日志,輸出,字符串格式化,資源服務等。
等這些核心的服務都萬事俱備以后,我們的主角就該出場了,就是工作臺(Workbench

)。我們可以把工作臺看作整個IDE的呈現部分,它通過這些核心的服務來處理我們的

代碼和其他相關文件。工作臺是通過WorkbenchSingleton

(ICSharpCode.SharpDevelop.Gui)類來管理的,它實例化的工作臺實例是

DefaultWorkbench;在實例化工作臺時會進行一些相關服務的初始化工作,比如顯示服

務,文件服務,狀態服務,文件解析服務,項目服務等,最后系統通過

Application.Run(WorkbenchSingleton.MainForm);來運行工作臺的主窗口,我們就可

以在桌面上看到IDE了。

?

文章源地址

http://www.cnblogs.com/taxhaven/articles/1725186.html

總結

以上是生活随笔為你收集整理的Sharpdevelop学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。