2009-04-06 7 views
2

Verwenden von TextMate:TextMate: Vorschau in Firefox, ohne das Dokument zuerst speichern zu müssen?

Ist es möglich, eine Verknüpfung zur Vorschau/Aktualisierung des aktuell bearbeiteten HTML-Dokuments z. B. in Firefox zuzuweisen, ohne zuerst Speichern zu drücken?

Ich bin auf der Suche nach der gleichen Funktionalität wie das integrierte Web Preview-Fenster von TextMate, aber ich würde einen externen Browser anstelle von TextMate bevorzugen. (Hauptsächlich, um eine JavaScript-Konsole wie Firebug zu verwenden).

Wäre es möglich, das derzeit nicht gespeicherte Dokument durch die Shell zu leiten und dann in Firefox eine Vorschau anzuzeigen. Und wenn ja, gibt es jemanden, der dafür einen TextMate-Befehl hat, der ihn teilen will?

Antwort

0

Ich glaube nicht, dass das möglich ist. Sie können jedoch die Option "atomare Speicherung" aktivieren, so dass jedes Mal, wenn Sie auf der Registerkarte "alt" zu Firefox wechseln, Ihr Projekt gespeichert wird.

Wenn Sie jemals eine Lösung für eine korrekte Firefox Live-Vorschau finden, lassen Sie es uns wissen.

1

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.

1

Öffnen Sie die Bundle-Editor (Strg + Option + Befehl + B) Blättern Sie zu dem HTML-Bundle und erweitern Sie den Baum Wählen Sie "Dokument in laufenden Browsern öffnen" Zuweisen des Aktivierungsschlüssel-Äquivalents (Verknüpfung) Schließen Sie den Bundle-Editor