TextMate erstellt temporäre Dateien und löscht sie nicht!

3842
OscarRyz

Ich verwende TextMate und jedes Mal, wenn ich eine Datei bearbeite, wird eine Kopie wie ._- Datei erstellt.

Dies macht mich verrückt und das letzte Mal, wenn es ein ernstes Problem für eine App gibt, die ich verwende, die glaubt, dass die Datei eine neue Komponente war und da sie nicht geladen werden konnte (weil es keine neue Komponente war), stürzte sie ab.

Wie kann ich diese temporären Dateien entfernen?

6

3 Antworten auf die Frage

13
Chealion

._file Dateien sind keine temporären Dateien, sondern eine Datei, die die Ressourcenzweigdaten für Mac OS X enthält. Mac OS X erstellt dies für Dateien, die auf einem Nicht-HFS-System gespeichert werden, um die Metadaten zu erhalten.

Sie können jedoch den folgenden Befehl ausführen, um die Erstellung eines Ressourcenzweiges durch TextMate zu deaktivieren:

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1 

Wenn Sie über die neueste Version (Build 1589 - 23. November 2009) verfügen, können Sie stattdessen ein Array von Dateisystemen eingeben, wenn Sie die Metadaten noch auf anderen Laufwerken haben möchten (sagen Sie Ja zu Ihrem internen und Nein zu irgendeinem Netzwerk oder Nicht-HFS-Laufwerk):

defaults write com.macromates.textmate OakDocumentCustomFSMetaData '( afpfs, nfs, msdos, hfs )' 
Es ist also eine OSX-Funktion? OOhh .. Nun, Sie erwähnen es nur, wenn ich ein Parallels-Laufwerk (also kein HFS) verwende. Über die Standardwerte: Wie lautet der Standardwert? (nur für den Fall, dass ich es zurücklegen muss) OscarRyz vor 14 Jahren 0
Der Standardwert ist 0, aber keine Sorge, Sie werden diese Funktion NIEMALS verpassen. mmc vor 14 Jahren 1
Große Frage, tolle Antwort. :-) robsoft vor 14 Jahren 0
Die Metadaten enthalten die TextMate-Cursorposition, die je nach Datei sehr nützlich sein kann. Daniel Beck vor 13 Jahren 2
1
arri

Diese ._oder Punktunterstrich- Dateien werden von Mac OSX als alternative Methode zum Speichern von erweiterten Attributen in einem Dateisystem erstellt, das diese nicht nativ unterstützt.

Obwohl technisch und historisch etwas völlig anderes ist, behandeln neuere Versionen von Mac OSX Resource Forks mehr oder weniger als erweiterte Attribute, zumindest aus Benutzersicht. In dieser Frage zum StackExchange finden Sie weitere (technische) Informationen zu (erweiterten) Dateiattributen, Ressourcenforks und Streams usw.

Sie können ls -lin der Befehlszeile erfahren, ob erweiterte Attribute in Dateien vorhanden sind . Dateien mit erweiterten Attributen werden @an ihren Namen angehängt. Dabei ls -l@werden auch die Namen dieser Attribute aufgeführt. Schließlich werden xattr -l <filename>die Attributnamen und -daten der angegebenen Datei gedruckt (Hex-Editor-Stil). Beispiele finden Sie unten.

$ > ls -la ~/Library/Fonts total 225448 drwx------+ 536 arri staff 18224 Jun 17 04:57 . drwx------@ 101 arri staff 3434 Aug 18 16:33 .. -rwxr-xr-x@ 1 arri staff 45 Aug 12 2010 04b-03.suit -rwxr-xr-x 1 arri staff 19492 Mar 25 2003 04b03.ttf -rw-r--r--@ 1 arri staff 54544 Apr 24 2012 27344.ttf ...

$ > ls -la@ ~/Library/Fonts total 225448 drwx------+ 536 arri staff 18224 Jun 17 04:57 . drwx------@ 101 arri staff 3434 Aug 18 16:33 .. com.apple.FinderInfo 32  -rwxr-xr-x@ 1 arri staff 45 Aug 12 2010 04b-03.suit com.apple.FinderInfo 32  com.apple.ResourceFork 20314  -rwxr-xr-x 1 arri staff 19492 Mar 25 2003 04b03.ttf -rw-r--r--@ 1 arri staff 54544 Apr 24 2012 27344.ttf com.apple.metadata:kMDItemDownloadedDate 53  com.apple.metadata:kMDItemWhereFroms 166 

$ > xattr -l ~/Library/Fonts/04b-03.suit  com.apple.FinderInfo: 00000000 46 46 49 4C 44 4D 4F 56 01 00 00 00 00 00 00 00 |FFILDMOV........| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000020 com.apple.ResourceFork: 00000000 00 00 01 00 00 00 4E F2 00 00 4D F2 00 00 00 68 |......N...M....h| 00000010 C9 0B 1A C9 23 08 03 1A C9 0B 1A C9 23 02 1A C9 |....#.......#...| ...

Beachten Sie, dass neben HFS Plus auch viele andere Dateisysteme erweiterte Attribute unterstützen. Sie sind einfach nicht immer mit Mac OSX kompatibel.

Ein Beispiel wäre zum Beispiel ein über SMB bereitgestelltes, fernes Windows-Dateisystem (NTFS). Sowohl das NTFS-Dateisystem als auch das SMB-Protokoll (und die Mac-Implementierung davon) unterstützen Extended Atributes, werden in diesem Zusammenhang jedoch als Named Streams bezeichnet . Diese Funktion ist häufig standardmäßig deaktiviert, kann jedoch wie hier beschrieben einfach aktiviert werden .

0
Morven

TextMate verwendet die Ressourcenzweig, um beispielsweise die Bearbeitungsposition und den Code-Faltungsstatus zu speichern. Dies sind alles Dinge, die Sie ohne leben können, obwohl sie sicherlich nett zu haben sind.