TextMate 2 で新しいスニペットを作成するにはどうすればよいですか?

TextMate 2 で新しいスニペットを作成するにはどうすればよいですか?

TextMate 2 で新しいスニペットを作成するにはどうすればいいですか? 「バンドルの編集」に移動しても、新しいスニペットを作成する方法がわかりません。

答え1

TextMate 2はまだリリースされておらず、アルファ版の状態です。バンドルエディタは非常に重要な部分の一つです。まだ最終段階ではない

概念実証用のバンドル エディターが含まれていますが、これは暫定的なものであり、いくつかの欠陥があり、最終的なバンドル エディターとして想定されているものではありません。

これらの手順は、2012 年 1 月 20 日現在のバージョン 2.0 (8956) 用です。反対投票する前によく考えてください。


選択するバンドル » バンドルを編集…TextMate 2 メニューで。

スニペットを追加したいバンドルを選択します。例:htmlを押してCmd-N新しいバンドルアイテムを作成し、スニペット

自動的に追加されますメニューアクションサブセクション。ドロワーでキーボードショートカットなどの設定を変更したり、下部のエディターでその内容を変更したりできます。

入力しますタブトリガーでは、文字のシーケンス (例snip) を入力し、その後に を押してTabスニペットをトリガーするか、キーボード ショートカットを割り当てます。

スコープセレクタートリガーを使用してスニペットを挿入できるスコープを指定します。選択した言語のスコープを確認するには、その構文を含むドキュメントに切り替えて、 を押してCtrl-Shift-Pカーソルの下の適用可能なすべてのスコープを表示します。

たとえば、スニペットを HTML ドキュメント内のどこでも使用できるようにするには、text.html.basic; と入力しますsource.shell。シェル スクリプトの場合は と入力します。複数のスコープをコンマで区切って入力することも、スコープ名のプレフィックスのみ (例 ) を入力して、一致するすべてのスコープsourceに適用することもできます。source.*

それ以外の場合は、そのウィンドウからアクセスできる他のすべてのスニペットを確認し、それらがどのように目的の動作を実現するかを確認します。

答え2

追加: バンドルにスニペットを追加した後、バンドル メニューでの表示場所を変更したい場合があります。これは現在 GUI ではサポートされていません (2.0-alpha.9401 時点)。

比較的熟練した人であれば手動で行うこともできます。ここで間違いを犯すとバンドルが壊れる可能性があるため、考えなしに踏み込まないでください

  1. 新しいバンドルアイテム(または移動したいバンドルアイテム)のUUIDを見つけます

    • アイテムはサブフォルダ内にあります

    「~/ライブラリ/アプリケーションサポート/Avian/Bundles/yourbundle/」

  2. オプションキーを押しながらバンドル項目をクリックして Textmate でテキストとして開き、UUID 文字列をコピーします。次のようになります。

    <string>E1ABEC5E-DF5F-4C09-BA9F-E17504F456C0</string>
    
  3. バンドルのinfo.plistを開きます

    • これは、サブメニューとそれに含まれる項目を含むメニュー項目をリストする xml タイプのファイルです。適切なリストの適切な場所に uuid 文字列を追加します。「Development」という既存のサブメニューに追加したい場合は、plist で「Development」を検索すると、その上に項目の配列が表示されます。新しいスニペットを目的の場所に貼り付けます。

    • plistは次の場所にあります

    「~/ライブラリ/アプリケーションサポート/Avian/Bundles/yourbundle/info.plist」

関連情報