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搞乱我的冒号?