【问题标题】:SublimeText: How to toggle curly braces to do-end blocks in RubySublime Text:如何在 Ruby 中将花括号切换到 do-end 块
【发布时间】:2013-03-26 08:38:43
【问题描述】:

我经常使用 sn-p 在 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 shortcuts you should be using -> Toggle ‘do … end’ / ‘{ … }’) ...这正是我想要的。

【问题讨论】:

    标签: ruby sublimetext2 code-snippets


    【解决方案1】:

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

    它完全符合我的要求。

    【讨论】:

      【解决方案2】:

      为此创建新的 sn-p:

      转到工具 -> 新片段并插入如下内容:

      <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]使用

      【讨论】:

      • 感谢您的回答。是的,我可以这样做,但是必须为每个对块(映射、注入等)执行某些操作的 sn-p 执行此操作。这将使sn-ps的数量增加一倍。我正在寻找更通用的方法。
      • 你可以用更多的变量来概括你的 sn-p,例如一个用于列表操作,另一个用于块变量等。但这需要更多的击键。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 2013-12-27
      相关资源
      最近更新 更多