2008-09-12 40 views
9

我正在尋找現代文本編輯器的設計\建築指南。現代文本編輯器架構示例

現代文本編輯器,意思是說:

  • 它有語法高亮的支持
  • 它具有自動完成(像智能感知)
  • 它擁有先進的導航功能(漸進式搜索等)

以下屬性會加上:

  • 實現在託管語言(Java中,任何.NET語言)
  • 模塊化architecutre
  • 外接支持

我在文本編輯器相關設計\木構建築的文件很感興趣\文章,鏈接到開源項目。

我是不是感興趣的一般建議,OOP /設計模式書籍廣告。

當前我在分析SharpDevelop code editor源代碼。鏈接到類似的項目將不勝感激。

回答

4

編輯SharpDevelop很好,它也是開源的。

+0

其實我在看SharpDevelop的,由於某種原因,我ofter稱之爲iTextSharp的:-)感謝對此事發表評論,反正。 – aku 2008-09-12 11:08:45

1

它可能不是你要找的內容,它是基於Mozilla,但出於完整性的考慮:

Open Komodo是ActiveState的一項倡議,以創建構建開發環境的開源平臺。

0

你看過vim嗎?它支持自動完成,語法高亮顯示,增量搜索,集成建築等等。它是模塊化的,它的許多更高級的功能都是作爲插件來實現的,可以隨它一起發佈或者可以單獨找到(例如,svn集成,代碼索引與cscope/ctags,通過ssh透明讀/寫)。

它有幾種語言(例如,python,ruby,perl)以及它自己的擴展語言('vimscript')編寫插件的apis。

我不知道他們在高級架構文檔方面有什麼,但是有一個活躍的社區和開發者郵件列表,應該能夠回答關於它是如何工作的具體問題,如果您開始通過資源。

3

基於Java的編輯器「jEdit」是文本編輯器體系結構的一個很好的例子,它具有插件支持,強大的用戶社區和良好的抽象。

8

終極的文本編輯器當然是emacs。我發現The Craft of Text Editing, or, Emacs for the Modern World是寫作編輯基礎的優秀自學指南。這些例子都是用普通的C語言編寫的,文本看起來有點過時(它是從1991年開始的),但基本思想仍然有效,並且你完全理解了編輯器爲什麼會如此工作。