Scintilla

Scintilla是一個免費的原始碼編輯控制項,它完全開放原始碼,並且提供一個license允許用戶自由地將它用在開源軟體或是商業軟體中。

基本介紹

功能,

功能

它是一個強大和穩定的原始碼編輯控制項,我們能在普通的的文本編輯控制項中能看到的功能,Scintilla都完全能夠實現,而且,它還能夠提供很多編輯和調試原始碼時有用的特殊功能。包括語法高亮顯示,錯誤指示,代碼自動完成以及代碼提示等。而且在左邊的空白處(margin),可以顯示調試代碼中非常有用的顯示斷點以及顯示當前運行行等功能。而且,自定義風格的功能比其他大部分編輯器控制項都開放,它允許用戶自定義不同類型下的字型,是否粗體,是否斜體,前景色和背景色,支持大量的字型。舉個例子,在設定C/C++編輯模式後,你可以定義注釋語句類型的顏色,字型,大小等等,同樣,可以自定義關鍵字類型的顏色,字型,大小……諸如此類,這樣給用戶極大的配置的自由。
據Scintilla的網站上發布的訊息,在以後的開發中,Scitilla將會加強在.Net和java虛擬機中的表現,Scitilla將會更加靈活,健壯,就這一點,可以看出Scitilla項目就是一個非常有活力的項目,其開發團隊對它非常有激情。
據作者介紹,開發Scintilla的動機是來自他對PythonWin的Richedit控制項的失望,在Richedit中,樣式的改變被看作是文檔的一種改變,從而會被記錄到undo的堆疊中,並且設定的文檔對象的修改標記。這對原始碼編輯是非常不合適的,改變關鍵字類型的顏色或是運算符的顏色,這不應該看作是文檔的修改,也不應該能夠通過undo/redo來返回/前進,如果是Richedit來做原始碼編輯的控制項,那將有太多的東西需要自己編寫代碼實現了,選擇Scintilla,將是一個明智的選擇,省時,省力,安全,可靠。
Scintilla目前提供了Win32版本和Linux版本。在Linux中使用的是GTK+,已經在Windows95,nt4.0, Windows2000, windows XP以及RedHat Linux8和9中的GTK+1.2和2.0中測試運行正常,這是一個跨平台的控制項。
Scintilla的windows版本就是一個窗體控制項。它的主要編程接口是通過窗體訊息來傳送的。要實現什麼功能,向控制項傳送一個訊息就可以了,當需要從控制項得到什麼信息,接受WM_NOTIFY訊息即可,可以從它帶的參數中獲得大量當前控制項的信息,比如是否已經修改文字了,是否正在點擊左邊的框線等等。但是,實際上在MFC編程中,通過訊息的方式來控制控制項還是非常麻煩的,因為這些訊息的大部分都是自定義訊息,不便於記憶。所以一般的做法就是將這些訊息的調用封裝成一個窗體類,這樣調用方便多了。除了能實現一般編輯控制項能實現的功能外,scintilla還能實現語法高亮,代碼摺疊,書籤,自動完成,語句提示等等功能。你完全可以不用學習標準編輯控制項CEDIT或者是RichEdit,scintilla提供了協調一致的API口,這些都是它的優點之處。
事實上,scintilla開發組同時也用這個控制項開發了一個編輯軟體SciTE,它百分百的實現了scintilla的全部功能,如果你對scintilla非常感興趣,但又不知它到底能做到那些功能的活,下載一個SciTE,使用一下就完全明白了。同時,SciTE也是開源軟體,學習它的代碼,就是學習scintilla的使用方法。

相關詞條

熱門詞條

聯絡我們