Nicht trivial. Der einfachste Weg wäre, die aktuelle Datei in das temporäre Verzeichnis zu schreiben, dann die Datei starten .. aber, dies würde brechen alle relativen Links (Bilder, Skripte, CSS-Dateien)
ein Bündel hinzufügen:
Input: Entire Document
Output: Discard
Scope Selector: source.html
Und das Skript:
#!/usr/bin/env python2.5
import os
import sys
import random
import tempfile
import subprocess
fname = os.environ.get("TM_FILEPATH", "Untitled %s.html" % random.randint(100, 1000))
fcontent = sys.stdin.read()
fd, name = tempfile.mkstemp()
print name
open(name, "w+").write(fcontent)
print subprocess.Popen(["open", "-a", "Firefox", name]).communicate()
Als ich, dass wird nicht funktionieren mit relativen Links zu Ressourcen, sagte, die wahrscheinlich ein großes Problem ist .. eine andere Möglichkeit, die folgende Codezeile zu ändern ist, von dem austretenden „Refresh-Browser "Befehl:
Anstatt das JavaScript neu laden die Seite, könnte es löschen, und schreiben Sie das aktuelle Dokument mit einer Reihe von document.write()
Anrufe. Das Problem damit ist, dass Sie nicht garantieren können, dass das aktuelle Dokument dasjenige ist, das Sie ersetzen möchten. Windows 1 könnte zu einer anderen Site gewechselt haben, besonders mit Tabbed Browsing.
Endlich eine Option, die nicht funktioniert haben einen großen Nachteil: Verwenden Sie die Versionskontrolle, insbesondere eine der "verteilten", wo Sie nicht Ihre Änderungen an einen Remote-Server senden müssen - Git, Mercurial, Darcs, Basar usw. (alle haben auch TextMate-Integration)
Wenn Ihr Code in der Versionskontrolle ist, ist es egal, ob Sie vor der Vorschau speichern, Sie können auch immer zu Ihrer letzten Version zurückkehren, wenn Sie etwas kaputt machen und den Undo-Puffer verlieren.