Wie erstelle ich ein neues Snippet in TextMate 2?

8651
jshen

Wie erstelle ich ein neues Snippet in TextMate 2? Wenn ich Bundles bearbeiten gehe, kann ich nicht herausfinden, wie ich ein neues Snippet erstellen kann.

30

2 Antworten auf die Frage

43
Daniel Beck

TextMate 2 has not yet been released and is in an alpha state. The bundle editor is one of the areas that are very much not final.

While a proof-of-concept bundle editor is included, it is provisional, has some flaws, and not how we envision the final bundle editor to be.

These instructions are for Version 2.0 (8956), current as of January 20, 2012. Think before you down vote.


Select Bundles » Edit Bundles… in the TextMate 2 menu.

Select the bundle you want to add a snippet to, e.g. HTML. Press Cmd-N to create a new bundle item, and select Snippet.

It will be automatically added to the Menu Actions subsection. You can change its settings, such as keyboard shortcut, in the drawer, and its contents in the editor at the bottom.

Enter a tab trigger in you want a sequence of characters (e.g. snip), followed by pressing Tab to trigger the snippet, or assign a keyboard shortcut.

Scope Selector specifies in which scopes the snippet can be inserted using the trigger. To find out the scopes of your selected language, switch to a document with that syntax, and press Ctrl-Shift-P to show all applicable scopes below the cursor.

For example, if you want your snippet to be available anywhere in HTML documents, enter text.html.basic; or source.shell for shell scripts. You can enter multiple scopes, separated by comma, or only scope name prefixes (e.g. source) to apply to all matching source.* scopes.

For anything else, just look at all the other snippets you can access from that window and see how they achieve some desired behavior.

1
tim

Hinzufügen: Nachdem Sie einem Bundle ein Snippet hinzugefügt haben, möchten Sie möglicherweise ändern, wo es im Bundle-Menü angezeigt wird. Dies wird derzeit in der GUI nicht unterstützt (Stand 2.0-alpha.9401).

Sie können dies manuell tun, wenn Sie ein relativer Experte sind. Sie können das Paket brechen, indem Sie hier Fehler machen. Wagen Sie sich also nicht unauffällig ein .

  1. Suchen Sie nach der UUID Ihres neuen Bündelelements (oder eines beliebigen Paketelements, das Sie verschieben möchten)

    • Das Element befindet sich in einem Unterordner von

    "~ / Library / Anwendungssupport / Avian / Bundles / yourbundle /"

  2. Option-Klicken Sie auf das Bundle-Element, um es als Text in textmate zu öffnen, und kopieren Sie die Uuid-Zeichenfolge. Das sieht ungefähr so ​​aus:

    <string>E1ABEC5E-DF5F-4C09-BA9F-E17504F456C0</string> 
  3. Öffnen Sie die info.plist Ihres Bundles

    • Hierbei handelt es sich um eine XML-Datei, in der die Menüelemente einschließlich Untermenüs und die darin enthaltenen Elemente aufgelistet sind. Sie möchten Ihre uuid-Zeichenfolge an der entsprechenden Stelle in der entsprechenden Liste hinzufügen. Wenn Sie es in einem vorhandenen Untermenü namens "Entwicklung" haben wollten, suchen Sie einfach in der Liste nach "Entwicklung", und darüber werden Sie das Feld mit den Elementen sehen: Fügen Sie Ihr neues Snippet dort ein, wo Sie es haben möchten

    • Die Liste finden Sie unter

    "~ / Library / Anwendungssupport / Avian / Bundles / yourbundle / info.plist"