[PYTHON] Ajout de la fonction de réussite à Sublime Text

Je l'ai mis

Installation

  1. Sélectionnez Install Package dans Package Control
  2. Sélectionnez Achievement

Comment utiliser

Annulation des réalisations

Si vous l'utilisez correctement, la réalisation sera annulée et une boîte de dialogue s'affichera à cet effet. スクリーンショット 2013-12-21 3.46.29.png

Affichage des succès déverrouillés

__Sublime Text> Préférences> Paramètres du package> Réalisation> Afficher les réalisations __ dans la barre de menu Ou ⌘+⇧+,

Pour le moment, je ne peux vérifier que le nom de la réussite qui a été annulée, donc je veux pouvoir voir l'explication (je m'inquiète de savoir comment l'afficher)

réinitialiser

J'implémenterai bientôt la commande de réinitialisation Supprimez maintenant les fichiers suivants dans __ / Users / USERNAME / Library / Application Support / Sublime Text 3 / Packages / User / __

En attente d'une pull request

Le nombre de réalisations étant encore faible, veuillez envoyer une demande d'extraction. airtoxin / Achievement !! Je ne pense pas que ce soit très intéressant de mettre en œuvre des réalisations vous-même! Ou si vous me contactez simplement sur Twitter pour des idées, je ferai de mon mieux pour les mettre en œuvre.

Les résultats mis en œuvre sont [ici](https://dl.dropboxusercontent.com/u/1990306/%E5%AE%9F%E8%A3%85%E6%B8%88%E3%81%BF%E5%AE % 9F% E7% B8% BE% E4% B8% 80% E8% A6% A7.txt) (car c'est complètement gâté)

Autour des paramètres

Ce n’est que de la publicité, alors même comment le créer

Créez un nouveau répertoire dans le répertoire des packages sublimes et placez-y les fichiers de package créés. Les fichiers liés aux paramètres ont des paramètres sublimes comme extension Les commandes qui peuvent être exécutées à partir de la palette de commandes, etc. se trouvent dans Default.sublime-commands Les paramètres des touches de raccourci peuvent être trouvés dans Default.sublime-keymap Les paramètres de la barre de menus se trouvent dans le menu principal. J'ai écrit chacun. Le contenu est json. Pour plus de détails sur l'écriture, reportez-vous au Résumé du didacticiel du plug-in Sublime Text 2. Après cela, je pense que vous devriez vous référer à ceux des autres packages. Pour une raison quelconque, ceux autres que les paramètres ne pouvaient pas être lus à moins que le nom de fichier ne soit le même.

En outre, ces fichiers de paramètres semblent être utilisés comme modèles, et lorsque j'effectuais des modifications avec des commandes et les sauvegardais, ils semblaient être enregistrés dans le répertoire User à l'intérieur du répertoire packages.

EventListener

Par défaut, il existe des Prepared, donc si vous héritez de cette classe et remplacez chaque méthode, elle sera pilotée par les événements. Vous pouvez effectuer diverses commandes. Si vous utilisez async, sublime ne sera pas verrouillé même pendant l'exécution de la commande, vous devez donc essentiellement utiliser celui-ci.

À propos d'EventListener qui n'est pas préparé

Pour ceux qui ne sont pas fournis dans la classe EventListener ci-dessus (comme les événements de touches de raccourci), il était normal que vous ayez créé la commande vous-même et que vous remplaciez ensuite la touche de raccourci vers sublime-keymap.

Par exemple, pour l'événement de raccourci de copie, créez une classe appelée OverrideCopyCommand en héritant de la classe TextCommand de sublime_plugin, et exécutez d'abord self.view.run_command (" copy ") dans la méthode d'exécution (la méthode d'exécution est cette commande). Est exécuté lors de l'appel). Cela exécutera la copie en toute sécurité et vous pourrez ajouter l'événement à votre touche de raccourci préférée en appliquant le comportement que vous souhaitez exécuter après cela. La touche de raccourci par défaut se trouve dans Préférences de sublime> Liaisons de touches - Par défaut, vous pouvez donc la rechercher ici.

Si vous souhaitez traiter de manière asynchrone, importez le thread

thread = threading.Thread(target=self._command_thread)
thread.setDaemon(True)
thread.start()

Si vous écrivez comme ceci et traitez la méthode _command_thread, elle sera asynchrone.

Maintenant que la commande a été créée, placez-la dans le fichier Default.sublime-keymap.

[
	{ "keys": ["super+c"], "command": "override_copy" }
]

Vous pouvez remplacer la touche de raccourci en l'ajoutant comme ceci.

api La sublime API a jeté un coup d'œil sur ici.

Inscrivez-vous avec Package Control

Forkez le canal de contrôle des packages (https://github.com/wbond/package_control_channel) et modifiez le fichier json dans le répertoire du référentiel pour envoyer une pull request. Après un certain temps, le test automatisé sera exécuté et le résultat sera affiché sur l'écran de demande d'extraction. S'il n'y a pas de problème, une barre verte apparaîtra et elle attendra la fusion (dans mon cas, elle a été fusionnée en quelques heures) Les fichiers json sont séparés par leur nom, alors ajoutez-les au nom de votre package. Le contenu de json sera également lu dans un test automatisé si les noms de paquet ne sont pas listés par ordre de nom.

Le contenu est comme ça,

{
	"name": "Achievement",
	"details": "https://github.com/airtoxin/Achievement",
	"releases": 
	[
		{
			"sublime_text": ">2999",
			"details": "https://github.com/airtoxin/Achievement/tags"
		}
	]
}

sublime_text prend en charge la version sublime Les détails des versions sont la version du package. Cette version semble être gérée par des balises git.

S'il est fusionné avec succès dans le maître, vous pouvez le vérifier dans Package Control.

Recommended Posts

Ajout de la fonction de réussite à Sublime Text
J'ai ajouté une fonction à CPython (opérateur ternaire)
Plugin pour ajouter des symboles variables (Sublime Text) Description
Personnalisez les raccourcis du bloc-notes Jupyter pour qu'ils ressemblent à du texte sublime
Liens pour faire ce que vous voulez avec Sublime Text
[Django] Ajout d'une nouvelle fonction de création de questions à l'application de sondages
Pythonbrew avec Sublime Text
J'ai ajouté une fonction à CPython (construction et compréhension de la structure)
Covector pour penser en fonction
Convertir le HTML en fichier texte
Comment appeler une fonction
Parler avec Python [synthèse vocale]
Passer du texte à Django genericview
Thème ajouté au blog Pelican