4

我经常使用代码片段在 SublimeText2 中编写我的代码。但是有一件事我无法实现:将花括号块切换到 do ... end 块。

假设我正在尝试构建一个多行每个块。所以我输入:

[1,2,3].ea<TAB>

这将导致:

[1,2,3].each { |e|  }

现在我需要一些魔法来将其切换为:

[1,2,3].each do |e| 
  # cursor
end

我很确定在 TextMate 中有办法实现这一点,所以在 SublimeText 中也有办法。有任何想法吗?

更新

我在 Textmate 中找到了功能描述:(您应该使用的 TextMate 快捷方式-> Toggle 'do ... end' / '{ ... }')...这正是我想要的。

4

2 回答 2

4

经过一番研究,我发现了这个插件:https ://github.com/irohiroki/RubyBlockConverter

它完全符合我的要求。

于 2013-03-26T10:04:31.883 回答
2

为此创建新的代码段:

转到 Tools -> New Snippet 并插入如下内容:

<snippet>
    <content><![CDATA[each do |${1:e}| $0 
    end]]></content>
    <tabTrigger>ead</tabTrigger>
    <scope>source.ruby</scope>
    <description>each do |e| .. end</description>
</snippet>

然后保存并与 ead[Tab] 一起使用

于 2013-03-26T08:49:49.893 回答