65

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     

ファイル名から情報を見つけることはできますか?

4

3 に答える 3

137

Sublime Text2は主にC++でコーディングされており、カスタムUIツールキットを使用しています。これが著者のJonSkinnerで、説明しています:http: //news.ycombinator.com/item?id=2822114

私はこれについていくつかの詳細をブログに投稿することを意味し続けますが、多くのことと同様に、私は通常、代わりにコーディングすることになります。Sublime Text2はほぼ完全にC++です(Cocoaの場合はObjective C、プラグインの場合はPythonが少し含まれています)。コーディングは一般的にかなり簡単です。1つのプラットフォーム(現時点ではほとんどがLinuxですが、頻繁に切り替えます)でコーディングし、それが他の場所でコンパイルされることを確認します。SublimeText2自体はカスタムUIツールキットを使用します。これが意味をなさないアプリはたくさんありますが、Sublime Textにとってはそれほど不合理な選択ではありません。ツールキットに関係なく、多くのUIコントロールをカスタム化する必要があることを常に知っていました(たとえば、テキストコントロールとタブコントロール)。UIツールキットは、クロスプラットフォームの抽象化レイヤーの上にあります。

于 2012-02-08T21:23:52.567 に答える
27

少しグーグルで調べたところ、Sublime GUI を使用していることが示唆されました。これは、Debian ソース パッケージから判断すると、C++ で記述されています。

stringsLinuxバイナリで実行すると、 sublime_textgtk を示唆する次の共有ライブラリ (Windows DLL に相当) が表示されます。

/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を示唆しています。

于 2011-08-18T04:49:52.110 に答える
16

Python で書かれていない可能性があります。Python コードが表示される理由は、ユーザーが Python でスクリプト/プラグインを記述して Sublime Text を拡張できるためです。GUI ツールキットとして GTK を使用して C++ で記述されていると思われます。

于 2011-08-21T00:26:55.953 に答える