2016-08-24 3 views
1

öffnet Ich habe ein einfach Sublime Text 3 Plugin geschrieben, das ich eine Protokolldatei mit einer Keybord Verknüpfung öffnen lassen:Sublime Text 3 API Reload-Datei nach

class OpenFilesCommand(sublime_plugin.TextCommand): 
    def run(self, edit, var_str): 
     str_date = datetime.datetime.strftime(datetime.datetime.now(),'%Y-%m-%d') 
     path_file = '/home/user/logs/web_'+str_date+'.log') 
     if os.path.isfile(path_file): 
      self.view.window().open_file(path_file) 
     else: 
      sublime.error_message("The file does not exist.") 

Mein Problem ist: wenn die Protokolldatei bereits Öffnen Sie in Sublime, wenn ich eine Verknüpfung verwende, wird der Dateiinhalt nicht erneut aus dem Dateiinhalt geladen.

Kennen Sie eine Methode zum Aktualisieren von Sublime-Dateiinhalten vom Inhalt von Festplatten-Dateien?

+0

Verzeihen Sie mir, aber was bedeutet 'der Dateiinhalt nicht von Dateiinhalt neu zu laden 'bedeutet genau? Bitte beschreiben Sie genau **, was passiert, wenn die Protokolldatei in Sublime bereits geöffnet ist. – MattDMo

+0

Wenn die Datei bereits geöffnet ist, wenn ich mein Plugin verwenden, öffnen Sie die geöffnete Datei als aktive Registerkarte. Aber wenn Inhalt seit dem ersten Öffnen aktualisiert wurde, zeige Sublime diesen neuen Inhalt nicht mehr an. – jedema

Antwort

1

Wenn die Datei bereits geöffnet ist und Sie möchten, dass Sublime Text die Ansicht aus der Datei aktualisiert, können Sie sie mit dem Befehl revert erneut von der Festplatte laden.

self.view.window().run_command('revert') 
+0

Vielen Dank, es funktioniert, indem Sie ** window() ** Eigenschaft der Ansicht hinzufügen. Es funktioniert einfach nicht, wenn die Protokolldatei die aktive Datei in Sublime ist. Aber das ist nie der Fall :) – jedema