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
и :
.
Я просмотрел параметры стиля Ruby в настройках RubyMine, но не смог найти ничего, что управляет двоеточиями.Как я могу помешать RubyMine возиться с моими двоеточиями?