2011-10-25 30 views
0

RubyMine可以在do;end{ }块表示法之间切换块语法。例如,假设下面的代码:如何在转换代码时配置RubyMine以保留Ruby 1.9.2哈希语法?

[1, 2, 3].each do |i| 
    puts i 
end 

我可以放置插入符的do,按选项 - 输入Enter键(在Mac上)来转换这个代码片段:

[1, 2, 3].each { |i| puts i } 

做同样的在{的插入符号执行逆向转换。

然而,当块内的代码包含的Ruby 1.9.2的新的哈希语法,RubyMine的转型过程中破坏了它:

# before 
[1, 2, 3].each { |i| some_func(param: i) } 

# after 
[1, 2, 3].each do |i| 
    some_func(param : i) 
end 

param:之间的空间。

我查看了RubyMine偏好中的Ruby样式选项,但无法找到任何控制冒号的东西。我怎样才能防止RubyMine搞乱我的冒号?

回答

2

它似乎是一个错误,我已将它提交给RubyMine问题跟踪器,请随时致电watch/vote

+0

太好了,谢谢。我确信我只是在某处丢失了一些配置选项。 –