{"id":662213,"date":"2025-12-08T13:24:12","date_gmt":"2025-12-08T12:24:12","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=ruby&#038;p=662213"},"modified":"2025-12-08T13:24:16","modified_gmt":"2025-12-08T12:24:16","slug":"rubymine-2025-3-multi-agent-ai-chat-rails-aware-mcp-server-faster-multi-module-projects-startup-and-more","status":"publish","type":"ruby","link":"https:\/\/blog.jetbrains.com\/zh-hans\/ruby\/2025\/12\/rubymine-2025-3-multi-agent-ai-chat-rails-aware-mcp-server-faster-multi-module-projects-startup-and-more","title":{"rendered":"RubyMine 2025.3: Multi-Agent AI Chat, Rails-Aware MCP Server, Faster Multi-Module Projects Startup, and More"},"content":{"rendered":"\n<p>RubyMine 2025.3 is out!<br><\/p>\n\n\n\n<p>This blog post briefly goes over the highlights of the latest release. For a detailed description, check out our <a href=\"https:\/\/www.jetbrains.com\/ruby\/whatsnew\/\" target=\"_blank\" rel=\"noopener\">What\u2019s New<\/a> page.&nbsp;<\/p>\n\n\n\n<p>You can get the new build from our <a href=\"https:\/\/www.jetbrains.com\/ruby\/download\" target=\"_blank\" rel=\"noopener\">website<\/a> or via the free <a href=\"https:\/\/www.jetbrains.com\/toolbox\/app\/\" target=\"_blank\" rel=\"noopener\">Toolbox App<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1280\" height=\"720\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/RM-releases-BlogFeatured-1280x720-1-1.png\" alt=\"\" class=\"wp-image-664822\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">AI Assistant<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Multi-agent experience: Junie and Claude Agent<\/strong><\/h3>\n\n\n\n<p>With the addition of <strong>Claude Agent<\/strong>, the first third-party AI agent fully integrated into JetBrains IDEs, your development workflow becomes more flexible and powerful.<\/p>\n\n\n\n<p>Both <strong>Claude Agent<\/strong> and <strong>Junie<\/strong> are now accessible from the same chat interface, allowing you to seamlessly switch between them and get the right kind of assistance for every task, whether it\u2019s code generation, debugging, or architecture guidance.<\/p>\n\n\n\n<p><em>(You can keep using Junie in a separate tool window if you prefer.)<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1800\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/multi-chat.png\" alt=\"\" class=\"wp-image-664833\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Transparent AI quota tracking<\/strong><\/h3>\n\n\n\n<p>Keeping track of your AI usage is now easier than ever. RubyMine shows your remaining AI Credits, renewal dates, and top-up options directly in the IDE. When your credits run out, you can top up instantly without leaving RubyMine.<\/p>\n\n\n\n<p>This makes managing AI resources more convenient and gives you full visibility over your usage.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2720\" height=\"1216\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/ai_quota.png\" alt=\"\" class=\"wp-image-664844\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Ruby and Rails<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Smarter autocomplete for constants<\/strong><\/h3>\n\n\n\n<p>Autocompletion now supports <strong>fuzzy searching across namespaces<\/strong>. Type parts of a class or module name \u2013 even nested ones \u2013 and RubyMine will suggest the right constants. For example, typing FoBa will bring up Foo::Bar.<\/p>\n\n\n\n<p>For more precise suggestions, fuzzy completion can be disabled in <em>Settings<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1800\" height=\"802\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/fuzzy_search.png\" alt=\"\" class=\"wp-image-664855\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Accurate type navigation for global variables<\/strong><\/h3>\n\n\n\n<p><em>Go to Type Declaration<\/em> now works correctly for all global variables, making it easier to explore and understand your code.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"900\" height=\"400\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/go_to_typedeclaration-2.gif\" alt=\"\" class=\"wp-image-664888\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Full Unicode regex support<\/strong><\/h3>\n\n\n\n<p>RubyMine no longer flags valid regex patterns with errors. You can now use Ruby\u2019s extended Unicode syntax, including emojis and other characters, without any false warnings.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1036\" height=\"454\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/regex-solved.png\" alt=\"\" class=\"wp-image-664899\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Rails Project view sunset<\/strong><\/h3>\n\n\n\n<p>Starting with RubyMine 2025.3, the <em>Rails<\/em> <em>Project<\/em> view has been removed. Modern Rails applications have grown too complex for a dedicated <em>Project<\/em> view to work reliably across all projects. Usage of this feature was also low.<\/p>\n\n\n\n<p>The most useful parts of the <em>Rails<\/em> <em>Project<\/em> view, such as enhanced navigation and visibility of model attributes, will be reimplemented in a way that benefits all RubyMine users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bundler<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Console-based installation&nbsp;<\/strong><\/h3>\n\n\n\n<p>Bundler is now installed via the <em>Run<\/em> tool window instead of a modal dialog. RubyMine automatically installs the version your project requires, making setup smoother and preventing permission errors.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"952\" height=\"400\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/bundler_install.png\" alt=\"\" class=\"wp-image-664910\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Seamless gem installation in multi-module projects<\/strong><\/h3>\n\n\n\n<p>If gem installation fails for one module, RubyMine continues installing gems for the remaining modules. Each failed module keeps its own error log on a separate tab, so you can inspect issues without interrupting the process.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1400\" height=\"604\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/uninterrupted.gif\" alt=\"\" class=\"wp-image-664921\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Code insight<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Cleaner autocomplete after <\/strong><strong>::<\/strong><\/h3>\n\n\n\n<p>Autocompletion of singleton methods after :: is now disabled by default. Typing String:: will show only classes, modules, and constants, reducing clutter while preserving accurate navigation.<\/p>\n\n\n\n<p>This option can be re-enabled in <em>Settings<\/em> if you prefer.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1806\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/singleton.png\" alt=\"\" class=\"wp-image-664932\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Rails-aware MCP server<\/strong><\/h3>\n\n\n\n<p>The MCP server now includes Rails-specific tools. It automatically recognizes Rails code and project structure, making AI-assisted exploration faster and more reliable. The server comes preconfigured for AI Assistant but can also be used for external clients.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2720\" height=\"1200\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/12\/mcp_server.png\" alt=\"\" class=\"wp-image-664943\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Multi-module project performance<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Accurate gem resolution<\/strong><\/h3>\n\n\n\n<p>RubyMine now restricts code navigation, completion, and symbol resolution to the current module and its dependencies. This eliminates distractions from unrelated modules, making code insight precise and focused.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Faster startup for multi-module projects<\/strong><\/h3>\n\n\n\n<p>Startup for multi-module projects has been optimized. Each module is processed only once, progress bars are consolidated, and unnecessary background tasks have been removed, reducing clutter and notifications when opening large projects.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Data collection<\/h2>\n\n\n\n<p>The detailed data collection option in JetBrains IDEs, initially announced earlier this year, has been delayed to version 2025.3.1, as we are still working to incorporate your feedback. Among other things, we\u2019re improving safeguards and streamlining the opt-out process for non-commercial users. If you want the full scoop, check out the <a href=\"https:\/\/blog.jetbrains.com\/blog\/2025\/09\/30\/detailed-data-sharing-for-better-ai\/\">blog post<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Stay in touch<\/h2>\n\n\n\n<p>Follow <a href=\"https:\/\/twitter.com\/rubymine\" target=\"_blank\" rel=\"noopener\">RubyMine on X<\/a> to stay up to date on all the latest features.<\/p>\n\n\n\n<p>We invite you to share your thoughts in the comments below. You can also suggest and vote for new features in our <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/ruby\" target=\"_blank\" rel=\"noopener\">issue tracker<\/a>.<br><\/p>\n\n\n\n<p>Happy developing!<br><\/p>\n\n\n\n<p>The RubyMine team<\/p>\n","protected":false},"author":1549,"featured_media":666214,"comment_status":"closed","ping_status":"closed","template":"","categories":[907,4156],"tags":[8958,6847,8852,477,8636],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby\/662213"}],"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\/1549"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=662213"}],"version-history":[{"count":2,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby\/662213\/revisions"}],"predecessor-version":[{"id":666240,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/ruby\/662213\/revisions\/666240"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/666214"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=662213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=662213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=662213"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=662213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}