Führen Sie ein Skript zum Speichern in Textmate aus

2241
studiohack

Ich habe mich gefragt, ob es möglich war, ein benutzerdefiniertes Skript beim Speichern auszuführen, das auf bestimmten Dateinamen in textmate basiert. Zum Beispiel möchte ich ein C-Programm beim Speichern automatisch kompilieren.

3

3 Antworten auf die Frage

4
Matt

Es ist eigentlich ziemlich einfach, dies mit einem benutzerdefinierten Befehl in einem Bundle zu tun.

So geben Sie einen einfachen Befehl ein:

  • Öffnen Sie den Bundle-Editor und suchen Sie das Bundle, dem Sie hinzufügen möchten.
  • Erstellen Sie einen neuen Befehl, indem Sie auf die Schaltfläche links unten im Editor klicken. Benennen Sie es entsprechend und setzen Sie den Gültigkeitsbereich auf source.c.
  • Setzen Sie die Aktions-Dropdown-Liste auf "Key Equivalent" und legen Sie die Verknüpfung fest Cmd + S.
  • Ändern Sie die Dropdown-Liste "Speichern" in "Aktuelle Datei".
  • Geben Sie Ihren Befehl ein und legen Sie die Dropdowns für die Ein- und Ausgänge entsprechend fest. Wenn ich mich richtig erinnere, wird die Eingabe an STDIN weitergeleitet.
  • Laden Sie die Bundles von TextMate erneut.

Das ist es. Sie sollten jetzt einen Befehl haben, der die Datei speichert und einen Befehl ausführt.

Sie können wahrscheinlich mit TextMate-Befehlen etwas tun, indem Sie ein Makro auf ähnliche Weise verwenden.

1
Lawrence Velázquez

Soweit ich weiß, gibt es keine Möglichkeit, wie beschrieben, für alle Sicherungssituationen (z. B. mit Befehl-S, Auswahl von Datei-> Speichern usw.).

Sie können möglicherweise ein benutzerdefiniertes Bündelelement erstellen, das das Dokument speichert und Ihr Skript ausführt, und es Command-S zuweisen, sodass es bei Verwendung dieser Tastenkombination ausgeführt wird.

0
vigo

Sie können einen Befehl nach dem Speichern über eine callback.document.did-savesemantische Klasse auslösen . Dies funktioniert auf TextMate2 +