2011-08-18 15 views
57

Pobrałem edytor sublimetext i chcę się dowiedzieć, która biblioteka GUI jest tam używana.Jakiej biblioteki gui używa edytor tekstu sublime?

Nazwy plików plików, które znajdują się w katalogu plików wykonywalnych Editor to:

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  

mogę znaleźć informacji z nazwy pliku?

Odpowiedz

126

Sublime Text 2 jest w większości kodowany w C++ i używa niestandardowego zestawu narzędzi interfejsu użytkownika. Oto autor, Jon Skinner, wyjaśniając to: http://news.ycombinator.com/item?id=2822114.

Nadal chcę napisać post na blogu z kilkoma szczegółami, ale jako z wieloma rzeczami zazwyczaj kończę na kodowaniu. Sublime Text 2 jest prawie całkowicie C++ (z pomyłką w Objective C dla Cocoa i Python dla wtyczek). Kodowanie jest generalnie dość proste: kod na jednej platformie (przeważnie obecnie Linux, ale często przełączam się na ), a następnie upewnij się, że nadal kompiluje się gdzie indziej. Sublime Sam tekst 2 używa niestandardowego zestawu narzędzi interfejsu użytkownika. Istnieje wiele aplikacji, w których może nie mieć sensu, ale nie jest to zbyt nierozsądny wybór dla Sublime Text, gdzie zawsze wiedziałem, że wiele elementów sterujących UI będzie musiało być niestandardowych, niezależnie od zestawu narzędzi (np. kontrolki tekstu i tabulacji). Zestaw narzędzi interfejsu użytkownika znajduje się na wierzchu warstwy abstrakcji platformy, która jest raczej połączeniem funkcjonalności platformy niż najniższego wspólnego mianownika.

+0

Wygląda na to, że związek już nie istnieje (404 Not Found) – Greg

+11

Od autora Sublime 2: _ „Sublime Text 2 Sam używa zestawu narzędzi niestandardowych UI” _, wiemy, że jest niestandardowy interfejs użytkownika. Opierając się na bibliotekach Sublime 2 i komunikatach o błędach, możemy zebrać _ "niestandardowy interfejs użytkownika" _ oparty jest na GTK (przynajmniej w części). – 2Toad

+1

Czy uważasz, że "niestandardowy interfejs użytkownika" _ jest przyspieszany sprzętowo (OpenGL), czy też nie? – cubuspl42

19

mały Googling zasugerował, że używa Sublime GUI, który według pakietu źródłowego Debiana jest napisany w C++.

następnie ponownie uruchomiony strings na Linux sublime_text binarny wykazuje następujące współdzielone biblioteki (odpowiednik Windows, DLL), co może sugerować, 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 sugeruje GTK.

13

Może nie być napisana w języku Python. Powodem, dla którego widzisz kod Pythona, jest to, że użytkownicy mogą pisać skrypty/wtyczki w Pythonach, aby rozszerzyć Sublime Text. Podejrzewam, że jest napisany w C++ z GTK jako zestaw narzędzi GUI.

+0

Jest bardzo możliwe, dziękuję – Freewind

Powiązane problemy