如何在textmate中分组片段

Seb*_*eki 1 textmate textmate2

我有一堆很好的shell脚本片段,我想分类(文件处理工具,网络脚本等).我只能添加脚本但不能将它们组合在一起(所以我可以将鼠标悬停在一个叫做网络和然后一个子菜单列出我的片段.有人知道怎么做吗?我认为这对我有多少片段非常有帮助

Gra*_*ath 5

也许第一个问题是你应该吗?从邮件列表中阅读此免责声明并自行决定.

目前在捆绑编辑器中无法进行此操作,必须手动完成.它将在我们很快修改包编辑器时添加.由于它将被添加,除非你真的感兴趣,否则不值得描述如何手动完成它. [截至2015年1月]

如果您真的有兴趣,请继续阅读:

首先备份你的捆绑包.然后使用XCode的plist编辑器打开你的bundle的info.plist.

您的捆绑包位于:〜/ Library/Application Support/Avian/Bundles/[Bundle Name] /

所以你的info.plist就在这里:〜/ Library/Application Support/Avian/Bundles/[Bundle Name] /info.plist

在info.plist中:如果您还没有它,请创建此结构.

步骤1到3

  1. 右键单击 - >添加行 - >"mainMenu".

  2. 将"mainMenu"的类型更改为Dictionary.

  3. 创建嵌套项"submenus","items"和"excludedItems",将"submenus"的类型更改为"Dictionary",将"items"和"excludedItems"更改为Array.

  4. 打开Terminal.app并运行命令 uuidgen

  5. 复制输出.(从现在开始称为[UUID#1])

  6. 在"子菜单"下创建一个新项目,通过粘贴[UUID#1]命名

  7. 将[UUID#1]的类型更改为Dictionary.

  8. 将子项添加到名为"name"的[UUID#1],将其值设置为"Network Scripts"(或其他)

  9. 将子项添加到名为"items"的[UUID#1],将其类型设置为Array

  10. 使用(+)按钮添加项目,每个项目都是命令中的UUID.要获取此UUID,请在TextMate中打开命令的文件.如果你试图直接打开.tmCommand文件,TextMate会抱怨,"捆绑项目[Bundle Item];已经安装".

    a)您只需打开Commands文件夹,TextMate就不介意打开文件抽屉中的文件.

    要么

    b)或`mate~/Library/Application Support/Avian/Bundles/[Your Bundle]/Commands/[Your Command].

  11. 当文件打开时找到这些行.你的字符串会有所不同,但格式相同.

    <key>uuid</key>
    <string>8E9BA0D3-E282-4516-8565-E920EA98C898</string>
    
    Run Code Online (Sandbox Code Playgroud)

    这是您的命令的UUID.现在称为[UUID#2]

  12. 回到info.plist,在步骤9中创建了一个"items"数组,将[UUID#2]添加到数组中.重复10 - 12添加多个项目.

  13. 现在,您只需将新的子菜单添加到'mainMenu.items',只需将[UUID#1]添加到数组即可.(最后遗漏的步骤归功于邮件列表,线程"如何在TextMate 2 Bundle中移动,订购或分组项目?",感谢Nigel!)

为了我; 没有重新启动就反映了这些变化.

请务必在修改之间保存.plist文件.

一旦完成备份或提交plist,你就不会想要在发生可怕的事情时失去它.