Sublime Text 编辑器使用什么 gui 库?

发布于 2024-11-30 07:28:47 字数 646 浏览 1 评论 0原文

我已经下载了 sublimetext 的编辑器,我想知道其中使用了什么 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     

我可以从文件名中找到信息吗?

I've downloaded an editor of sublimetext and I want to know what GUI library is used in there.

The filenames of files that are in the editor executables directory are:

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     

Can I find the information from the file names?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

最单纯的乌龟 2024-12-07 07:28:47

Sublime Text 2 主要用 C++ 编写,并使用自定义 UI 工具包。作者 Jon Skinner 对其进行了解释:http://news.ycombinator.com/item?id=2822114。

我一直想写一篇博客文章,其中包含一些详细信息,但作为
对于很多事情,我通常最终都会编码。 Sublime Text 2 是
几乎完全是 C++(带有少量用于 Cocoa 的 Objective C 和
Python 用于插件)。编码通常相当简单:代码
在一个平台上(目前主要是 Linux,但我会切换
经常),然后确保它仍然可以在其他地方编译。升华
Text 2 本身使用自定义 UI 工具包。有很多应用程序可以在其中
这可能没有道理,但这并不是一个不合理的选择
Sublime Text,我一直知道很多 UI 控件都是
无论工具包如何(例如,文本
控件和选项卡控件)。 UI 工具包位于十字架顶部
平台抽象层,更多的是平台的联合
功能而不是最低公分母。

Sublime Text 2 is mostly coded in C++ and uses a custom UI toolkit. Here is the author, Jon Skinner, explaining it: http://news.ycombinator.com/item?id=2822114.

I keep meaning to write a blog post with some details on this, but as
with many things, I usually end up coding instead. Sublime Text 2 is
almost entirely C++ (with a smattering of Objective C for Cocoa and
Python for plugins). Coding is generally fairly straight forward: code
on one platform (mostly Linux at the moment, but I switch around
frequently), and then make sure it still compiles elsewhere. Sublime
Text 2 itself uses a custom UI toolkit. There are a lot of apps where
this may not make sense, but it's not such an unreasonable choice for
Sublime Text, where I always knew that a lot of the UI controls were
going to have to be custom no matter the toolkit (e.g., the text
control and tab controls). The UI toolkit sits on top of a cross
platform abstraction layer, which is more a union of platform
functionality rather than lowest common denominator.

山色无中 2024-12-07 07:28:47

谷歌搜索了一下,发现它使用的是 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

这也建议使用 gtk。

a little Googling suggested it is using the Sublime GUI, which judging by the Debian source package is written in C++.

then again, running strings on the Linux sublime_text binary shows the following shared libraries (equivalent of Windows DLLs) which might suggest 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 suggests gtk.

孤蝉 2024-12-07 07:28:47

它可能不是用 Python 编写的。你看到Python代码的原因是用户可以用Python编写脚本/插件来扩展Sublime Text。我怀疑它是用 C++ 编写的,并使用 GTK 作为 GUI 工具包。

It might not be written in Python. The reason you see Python code is users can write scripts/plugin in Pythons to extend Sublime Text. I suspect it is written in C++ with GTK as GUI toolkit.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文