如何在转换代码时配置RubyMine以保留Ruby 1.9.2哈希语法?

时间:2011-10-25 13:57:50

标签: ruby rubymine

RubyMine可以在do;end{ }块表示法之间切换块语法。例如,给出以下代码:

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

我可以将插入符号放在do并按Option-Enter 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搞乱我的冒号?

1 个答案:

答案 0 :(得分:2)

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