2011-10-25 54 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

太好了,謝謝。我確信我只是在某處丟失了一些配置選項。 –