2011-08-18 25 views
57

我已經下載了sublimetext的編輯器,我想知道那裏使用的是什麼GUI庫。崇高的文本編輯器使用什麼gui庫?

是在編輯器可執行文件目錄中的文件的文件名是:

bz2.pyd 
Microsoft.VC90.CRT.manifest 
msvcp90.dll 
msvcr90.dll     
PackageSetup.py 
PackageSetup.pyc    
pyexpat.pyd     
python26.dll 
python26.zip     
select.pyd 
sublimeplugin.py    
sublimeplugin.pyc 
sublimetext.exe    
unicodedata.pyd 
unins000.dat     
unins000.exe 
_ctypes.pyd     
_elementtree.pyd 
_hashlib.pyd     
_socket.pyd 
_ssl.pyd  

我能找到的文件名的信息?

回答

126

Sublime Text 2主要以C++編碼並使用自定義UI工具包。以下是作者Jon Skinner解釋它:http://news.ycombinator.com/item?id=2822114

我把意思寫在博客上與此的一些細節,但 有很多事情,我通常最終會代替編碼。 Sublime Text 2幾乎完全是C++(只有Objective C for Cocoa和 Python for plugins)。編碼通常相當直接:在一個平臺上代碼爲 (目前主要是Linux,但我經常切換 ),然後確保它仍在其他地方編譯。崇高 文本2本身使用自定義UI工具包。有很多應用程序,其中 這可能沒有意義,但它不是這樣一個不合理的選擇 崇高的文本,在那裏我一直知道很多UI控件是 必須定製,無論工具包(例如文本 控件和選項卡控件)。 UI工具包位於交叉 平臺抽象層之上,它更多是平臺功能的聯合,而不是最低公分母。

+0

貌似該鏈接不再存在(404未找到) – Greg

+11

從崇高2的作者:_「崇高文本2本身使用自定義的UI工具包」 _,我們知道這是一個自定義UI。並且,基於Sublime 2庫和錯誤消息,我們可以收集_「自定義用戶界面」_是基於GTK(至少部分)。 – 2Toad

+1

你們是否認爲_「自定義用戶界面」_是硬件加速的(OpenGL),或者不是? – cubuspl42

19

有一點谷歌搜索建議它使用Sublime GUI,它由Debian源代碼包判斷是用C++編寫的。

然後再次,運行在Linux sublime_text二進制strings顯示以下共享庫(Windows中的DLL的等價物),這可能暗示GTK:

/lib/ld-linux.so.2 
libgtk-x11-2.0.so.0 
libgdk-x11-2.0.so.0 
libatk-1.0.so.0 
libgio-2.0.so.0 
libpangoft2-1.0.so.0 
libpangocairo-1.0.so.0 
libgdk_pixbuf-2.0.so.0 
libcairo.so.2 
libpng12.so.0 
libpango-1.0.so.0 
libfreetype.so.6 
libfontconfig.so.1 
libgobject-2.0.so.0 
libgmodule-2.0.so.0 
libgthread-2.0.so.0 
librt.so.1 
libglib-2.0.so.0 
libpthread.so.0 
libdl.so.2 
libutil.so.1 
libm.so.6 
libX11.so.6 
libstdc++.so.6 
libgcc_s.so.1 
libc.so.6 
libgio-2.0.so 
libgio-2.0.so.0 
module.so 

this also建議GTK。

13

它可能不是用Python編寫的。您看到Python代碼的原因是用戶可以在Pythons中編寫腳本/插件來擴展Sublime Text。我懷疑它是用C++作爲GUI工具包編寫的。

+0

這是非常可能的,謝謝 – Freewind