2011-08-18 10 views
57

Tôi đã tải xuống trình chỉnh sửa sublimetext và tôi muốn biết thư viện GUI nào được sử dụng trong đó.Thư viện gui nào được sử dụng bởi trình soạn thảo văn bản tuyệt vời?

Các tên tập tin của tập tin có trong thư mục thực thi biên tập là:

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  

Tôi có thể tìm thấy những thông tin từ các tên tập tin?

Trả lời

126

Nội dung tối ưu 2 chủ yếu được mã hóa bằng C++ và sử dụng bộ công cụ giao diện người dùng tùy chỉnh. Đây là tác giả, Jon Skinner, giải thích nó: http://news.ycombinator.com/item?id=2822114.

Tôi giữ ý nghĩa để viết một bài đăng trên blog với một số chi tiết về điều này, nhưng là với nhiều thứ, tôi thường kết thúc bằng mã thay vào đó. Sublime Text 2 là gần như hoàn toàn C++ (với một smattering của mục tiêu C cho ca cao và Python cho plugins). Mã hóa nói chung khá thẳng về phía trước: mã trên một nền tảng (chủ yếu là Linux vào lúc này, nhưng tôi thường xuyên chuyển đổi khoảng ), và sau đó đảm bảo mã vẫn biên dịch ở nơi khác. Sublime Chính văn bản 2 sử dụng bộ công cụ giao diện người dùng tùy chỉnh. Có rất nhiều ứng dụng trong đó điều này có thể không có ý nghĩa, nhưng nó không phải là sự lựa chọn không hợp lý cho Văn bản tuyệt vời, nơi tôi luôn biết rằng rất nhiều điều khiển giao diện người dùng là sẽ phải tùy chỉnh cho dù bộ công cụ (ví dụ: văn bản kiểm soát và điều khiển tab). Bộ công cụ giao diện người dùng nằm trên đầu trang của lớp trừu tượng nền tảng chéo, đó là một sự kết hợp của chức năng nền tảng thay vì mẫu số chung thấp nhất.

+0

Hình như liên kết không còn tồn tại (404 Not Found) – Greg

+11

Từ tác giả của Sublime 2: _ "Sublime Văn bản 2 chính nó sử dụng một bộ công cụ UI tùy chỉnh" _, chúng ta biết nó là một giao diện người dùng tùy chỉnh. Và, dựa trên các thông báo lỗi và thông báo lỗi Sublime 2, chúng ta có thể thu thập _ "giao diện người dùng tùy chỉnh" _ dựa trên GTK (ít nhất một phần). – 2Toad

+1

Các bạn có nghĩ rằng _ "giao diện người dùng tùy chỉnh" _ là phần cứng được tăng tốc (OpenGL), hay không? – cubuspl42

19

một chút Googling đề xuất rằng nó đang sử dụng GUI tuyệt vời, được đánh giá bởi gói nguồn Debian được viết bằng C++.

sau đó một lần nữa, chạy strings trên Linux sublime_text nhị phân cho thấy các thư viện chia sẻ sau đây (tương đương với Windows DLL) mà có thể đề nghị 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 gợi ý gtk.

13

Nó có thể không được viết bằng Python. Lý do bạn thấy mã Python là người dùng có thể viết các script/plugin trong Pythons để mở rộng Sublime Text. Tôi nghi ngờ nó được viết bằng C++ với GTK như bộ công cụ GUI.

+0

Nó rất tốt, thank you – Freewind