{"id":247810,"date":"2022-05-23T11:00:00","date_gmt":"2022-05-23T10:00:00","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=ruby&#038;p=247810"},"modified":"2022-08-09T17:16:34","modified_gmt":"2022-08-09T16:16:34","slug":"rubymine-2022-2-eap-is-open","status":"publish","type":"ruby","link":"https:\/\/blog.jetbrains.com\/zh-hans\/ruby\/2022\/05\/rubymine-2022-2-eap-is-open","title":{"rendered":"RubyMine 2022.2 EAP is Open!"},"content":{"rendered":"<p>Hi everyone,<\/p>\n<p>The Early Access Program for the upcoming version 2022.2 of RubyMine <a href=\"https:\/\/www.jetbrains.com\/ruby\/nextversion\/\" target=\"_blank\" rel=\"noopener\">is now available<\/a>. As always, you are welcome to try the new features before the official release, and we are looking forward to hearing your feedback.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/05\/rm_222_blog_banner.png\" alt=\"RubyMine 2022.2 EAP\" width=\"800\"><\/p>\n<p>Here are the main highlights of the first EAP build:<\/p>\n<h2 id=\"debugger\">Debugger<\/h2>\n<p>We\u2019ve improved RubyMine\u2019s debugger to make it more robust for Ruby 3 and onward. Starting with this EAP, you should be able to debug your Ruby 3 and up code without any major issues while using all the fancy features provided in the GUI, such as <a href=\"https:\/\/www.jetbrains.com\/help\/ruby\/stepping-through-the-program.html\" target=\"_blank\" rel=\"noopener\">stepping through the code<\/a>, <a href=\"https:\/\/www.jetbrains.com\/help\/ruby\/examining-suspended-program.html\" target=\"_blank\" rel=\"noopener\">evaluating expressions<\/a>, and so on. We also fixed issues in the previous debugger implementations, so if you are running an older version of Ruby (below 3.0), you should be able to debug your code in RubyMine just fine as well. No extra action is required, as the IDE will automatically suggest a suitable debugger implementation.<\/p>\n<p>We ran some internal tests to learn how well the new RubyMine debugger performs when running a simple Rails script in debug mode. We found out that its performance is close to the native Ruby 3 debugger, which our new debugger is based on. The results vary insignificantly depending on the OS, machine CPU, and the number of breakpoints set.<\/p>\n<p>The important thing is that, when debugging setups that have two breakpoints or more, the new RubyMine debugger is about 5 times faster than the previous one for Ruby 3, which used an open-source implementation:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/05\/rm_222_new_debugger_comparison_upd.png\" alt=\"debugger speed comparison\" width=\"800\"><\/p>\n<p>According to our stats and surveys,<strong> RubyMine\u2019s debugger is one of the most used features among our experienced users<\/strong>. If you aren\u2019t using it yet, we strongly suggest you check out one of the following tutorials:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=8QXWPpuQe-Q\" target=\"_blank\" rel=\"noopener\">RubyMine: Debugging a Ruby on Rails Application<\/a><\/li>\n<li><a href=\"https:\/\/www.jetbrains.com\/help\/ruby\/debugging-code.html\" target=\"_blank\" rel=\"noopener\">Debugger documentation<\/a><\/li>\n<\/ul>\n<h2 id=\"rbs\">RBS<\/h2>\n<p>In this release, we\u2019ve continued to improve our RBS support. Starting with this version, RubyMine\u2019s code insight now checks inline <code>public<\/code> and <code>private<\/code> visibility modifiers to determine the visibility of attribute and method declarations. We\u2019ve also added per-method visibility modifiers to the <a href=\"https:\/\/www.jetbrains.com\/help\/ruby\/viewing-structure-of-a-source-file.html\" target=\"_blank\" rel=\"noopener\">structure view<\/a>:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/05\/rm_222_rbs_file_structure_method_visibility.png\" alt=\"rbs inline modifiers\" width=\"800\"><\/p>\n<p>As for other changes related to RBS, we\u2019ve added a way to exit line comment continuation in RBS by pressing <code>Enter<\/code>, or continue commenting by pressing <code>Shift+Enter<\/code>. You can find details about this improvement in the related ticket: <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/RUBY-28211\/\" target=\"_blank\" rel=\"noopener\">RUBY-28211<\/a>.<\/p>\n<h2 id=\"rightward-assigments\">Code insight for rightward assignments<\/h2>\n<p>You will discover that code insight features, such as navigation between entities, the Rename refactoring, and Find Usages, now work for pattern-matched local variables:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/05\/rm_222_code_insight_for_rightward.png\" alt=\"code insight for rightwards\" width=\"800\"><\/p>\n<h2>Clickable links in server development logs<\/h2>\n<p>Rails developers will appreciate that they can finally click links for <code>Controller#action<\/code> and <code>View<\/code> references to navigate to the corresponding files. The same feature will be added for <code>Routes<\/code> very soon (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/RUBY-29488\/\" target=\"_blank\" rel=\"noopener\">RUBY-29488<\/a>).<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/05\/rm_222_clickable_links_in_server_logs.png\" alt=\"links in server logs\" width=\"800\"><\/p>\n<h2 id=\"new-project-dialog\">New Project dialog<\/h2>\n<p>When you create a new project in RubyMine 2022.2, you will see that the <em>New Project <\/em>dialog looks a bit different. We\u2019ve moved a couple fields around in project types, put <em>Name<\/em> and <em>Location<\/em> in separate fields, and added extra icons to follow the latest design patterns of JetBrains tools:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/05\/rm_222_new_project_wizard.png\" alt=\"updated new project dialog\" width=\"800\"><\/p>\n<h2 id=\"edit-interpreter-names\">Edit interpreter names<\/h2>\n<p>If you use different Rubies for different projects, you will like the fact that you can now edit interpreter names in the Ruby SDK settings. We\u2019ve added this feature to help you make various SDKs human-readable and not get confused when choosing between them:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/05\/rm_222_edit_interpreter_name.png\" alt=\"edit interpreter names\" width=\"800\"><\/p>\n<h2 id=\"feature-deprecation\">Feature deprecation plans<\/h2>\n<p>This release marks the beginning of the safe deprecation of some older technologies and features, namely Rails 3, the Rails View, the RCov gem, the Zeus, Spark, Nailgun pre-load servers, and the JRuby run configuration type. For more details regarding these decisions, see this <a href=\"https:\/\/blog.jetbrains.com\/ruby\/2022\/05\/rubymine-to-retire-rails-3-and-other-outdated-features\/\">separate announcement<\/a>.<\/p>\n<h2 id=\"bug-fixes\">Bug fixes<\/h2>\n<p>As always, we\u2019ve fixed a number of issues, such as:<\/p>\n<ul>\n<li>Performance issues when typing in large files (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/RUBY-29542\/\" target=\"_blank\" rel=\"noopener\">RUBY-29542<\/a>).<\/li>\n<li>The problem causing the built-in Rails console to generate odd characters and crash (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/RUBY-29509\/\" target=\"_blank\" rel=\"noopener\">RUBY-29509<\/a>).<\/li>\n<li>Undetected <code>let<\/code> variables in RSpec (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/RUBY-25222\/\" target=\"_blank\" rel=\"noopener\">RUBY-25222<\/a>).<\/li>\n<li>The absence of gutter mark icons in minitest specs (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/RUBY-24745\/\" target=\"_blank\" rel=\"noopener\">RUBY-24745<\/a>).<\/li>\n<\/ul>\n<h2 id=\"join-the-eap\">Join the Early Access Program<\/h2>\n<p>You are welcome to download the latest EAP build <a href=\"https:\/\/www.jetbrains.com\/ruby\/nextversion\/\" target=\"_blank\" rel=\"noopener\">from our website<\/a> or via the <a href=\"https:\/\/www.jetbrains.com\/toolbox-app\/\" target=\"_blank\" rel=\"noopener\">Toolbox app<\/a>. The full list of closed tickets in this EAP build is in the <a href=\"https:\/\/youtrack.jetbrains.com\/articles\/RUBY-A-220364948\/RubyMine-2022-2-EAP-1-222-2270-25-build-Release-Notes\" target=\"_blank\" rel=\"noopener\">release<\/a><a href=\"https:\/\/youtrack.jetbrains.com\/articles\/RUBY-A-220364948\/RubyMine-2022-2-EAP-1-222-2270-25-build-Release-Notes\" target=\"_blank\" rel=\"noopener\"> notes<\/a>.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/ruby\/nextversion\/\" target=\"_blank\" rel=\"noopener\">DOWNLOAD RUBYMINE 2022.2 EAP<\/a><\/p>\n<p>To learn about the newest features as they come out, please follow <a href=\"https:\/\/twitter.com\/rubymine\" target=\"_blank\" rel=\"noopener\">RubyMine on Twitter<\/a>. We post product news and tips several times a week.<\/p>\n<p>We encourage you to share your thoughts in the comments below and to create and vote for features in the <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/ruby\" target=\"_blank\" rel=\"noopener\">issue tracker<\/a>.<\/p>\n<p><em>Happy developing!<br \/>\nThe RubyMine team<\/em><\/p>\n","protected":false},"author":574,"featured_media":247816,"comment_status":"closed","ping_status":"closed","template":"","categories":[826],"tags":[6978,600],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby\/247810"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/types\/ruby"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/users\/574"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=247810"}],"version-history":[{"count":7,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby\/247810\/revisions"}],"predecessor-version":[{"id":248569,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby\/247810\/revisions\/248569"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/247816"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=247810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=247810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=247810"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=247810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}