繁体   English   中英

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

[英]How to configure RubyMine to preserve Ruby 1.9.2 hash syntax when transforming code?

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

它似乎是一个错误,我已将其提交给RubyMine问题跟踪器,随时观看/投票

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM