Quelle bibliothèque gui est utilisée par sublime text editor?

J'ai téléchargé un éditeur de sublimetext et je veux savoir quelle bibliothèque GUI est utilisée là-dedans.

Les noms de fichiers des fichiers qui se trouvent dans le répertoire exécutables de l'éditeur sont:

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     

Puis-je trouver les informations des noms de fichiers?

58
demandé sur marcio 2011-08-18 08:28:21

3 réponses

Sublime Text 2 est principalement codé en C++ et utilise une boîte à outils D'interface utilisateur personnalisée. Voici l'auteur, Jon Skinner, l'expliquant: http://news.ycombinator.com/item?id=2822114 .

Je continue à vouloir écrire un article de blog avec quelques détails à ce sujet, mais comme avec beaucoup de choses, je finis généralement par coder à la place. Sublime texte 2 est presque entièrement C++ (avec une poignée D'Objective C pour Cocoa et Python pour les plugins). Le codage est généralement assez simple: code sur une plate-forme (principalement Linux pour le moment, mais je change de place fréquemment), puis assurez - vous qu'il compile toujours ailleurs. Sublimer Text 2 lui-même utilise une boîte à outils D'interface utilisateur personnalisée. Il y a beaucoup d'applications où cela peut ne pas avoir de sens, mais ce n'est pas un choix si déraisonnable pour Sublime Text, où j'ai toujours su que beaucoup de contrôles de L'interface utilisateur étaient va devoir être personnalisé peu importe la boîte à outils (par exemple, le texte le contrôle et l'onglet de contrôles). La boîte à outils de L'interface utilisateur se trouve au sommet d'une croix couche d'abstraction de plate-forme, ce qui est plus une union de plate forme fonctionnalité plutôt que le plus petit dénominateur commun.

128
répondu Hugo 2015-12-28 15:58:36

Un peu de Googling a suggéré qu'il utilise L'interface graphique Sublime, qui à en juger par le paquet source Debian est écrit en C++.

Ensuite, l'exécution de strings sur le binaire Linux sublime_text montre les bibliothèques partagées suivantes (équivalent des dll Windows) qui pourraient suggérer 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

Ceci aussi suggère gtk.

21
répondu jcomeau_ictx 2011-08-18 05:05:13

Il peut ne pas être écrit en Python. La raison pour laquelle vous voyez du code Python est que les utilisateurs peuvent écrire des scripts / plugin en Pythons pour étendre le texte Sublime. Je soupçonne qu'il est écrit en C++ avec GTK comme boîte à outils GUI.

14
répondu jemeshsu 2011-08-21 00:26:55