Voilas, je suis nouveau en temps d'utilisateur authentifié. Mais, je connais se site depuis ces débuts.
Moi même, un fan du web.
J'aimerais bien, vous aider à partager les connaissances du web.

J'utilise énormément livereload SCSS PHP etc.
Donc, j'ai réfléchie au moyen d'enregistrer mon code en temps réel sans surcharger la mémoire de son pc.

Heureusement pour moi, j'ai trouver une personne sympathique qui ma partagé son code.

Donc, dans cette logique; j'aimerais un petit coup de main.
Je ne suis pas dans le langage python, donc j'aurais une question :

J'ai deux class dans un fichier python, je veux que ces class soit disponible que quand l'utilisateur touche à une combinaison de touche exemple ctrl+alt+a.

J'ai trouvé pour le raccourcie , c'est le codage python qu'il me manque.
Théoriquement, il faudrait avoir une variable bool, puis en fonction activer le reste du code.

Techniquement, comment, fait-on ?

import sublime, sublime_plugin
import time, os

class DelayedTimer(object):
    """ Class found here : https://github.com/ajpalkovic/SublimePlugins/blob/master/disabled/saveUntitledFiles.py
        Thanks to this guy :) """
    def __init__ (self, delay, callback):
        self.delay = delay
        self.callback = callback
        self.lastRequest = 0
        self.scheduleTimer()
    def scheduleTimer(self):
        sublime.set_timeout(self.onTimer, self.delay*1000)
    def onTimer(self):
        self.callback()
        self.scheduleTimer()
        if self.lastRequest > 0 and (self.lastRequest + self.delay) < time.time():
            self.lastRequest = 0
            self.callback()
    def notify(self):
        self.lastRequest = time.time()

class AutoSaveCommand(sublime_plugin.EventListener):
    """ Save every files edited every 8 seconds. Ignores new files. """

    def __init__ (self):
        """ Init the timer, to not save at each caracter """
        self.timer = DelayedTimer(8, self.saveViews)
        self.views = ]
        self.files = ]
    def saveViews(self):
        """ Callback function called by the timer. Save every files of views list. Empty lists to start
            a new cycle """
        for view in self.views:
            view.run_command('save')
        self.views = ]
        self.files = ]
    def on_modified(self, view):
        """ Store in a list every views which have been edited """
        # Only files already saved
        if view.file_name() and view.file_name() not in self.files:
            self.views.append(view)
            self.files.append(view.file_name())
            self.timer.notify()

Je m'explique un peu pourquoi, je souhaite désactiver mon code, quand je le veux. Car, quand vous faite un plugin, qui touche Sublime Text exemple; Bien, vous avez des messages erreur qui vous interrompt.

Par la suite je ferais un tutoriel vidéo avec la combinaison d'un autre plugin. Qui aide vachement.

Cordialement, je sais, que mon français est de bas niveau.

1 réponse


Bon, une autre question. comment puis-je lier une commande de package Disable à un raccourcie clavier ?