{"id":560983,"date":"2025-04-16T13:14:56","date_gmt":"2025-04-16T12:14:56","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=rust&#038;p=560983"},"modified":"2025-04-17T09:54:45","modified_gmt":"2025-04-17T08:54:45","slug":"rustrover-2025-1-is-now-available","status":"publish","type":"rust","link":"https:\/\/blog.jetbrains.com\/ja\/rust\/2025\/04\/16\/rustrover-2025-1-is-now-available","title":{"rendered":"RustRover 2025.1 Is Now Available"},"content":{"rendered":"\n<p>This release introduces a major update to JetBrains AI, new Rust-specific features, and improvements to the UX and AI Assistant.<\/p>\n\n\n    <div class=\"buttons\">\n        <div class=\"buttons__row\">\n                                                <a href=\"https:\/\/www.jetbrains.com\/rust\/download\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Download RustRover 2025.1<\/a>\n                                                    <\/div>\n    <\/div>\n\n\n\n\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Social_Share_Blog_1280x720-2x-3.png\" alt=\"\" class=\"wp-image-561007\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"page__content-jetbrains-ai-updates\">JetBrains AI updates<\/h2>\n\n\n\n<p>JetBrains AI Assistant has received a major upgrade, making AI-powered development more accessible and efficient. With this release, all JetBrains AI features are accessible for free in our IDEs, with unlimited use for some, such as unlimited code completion and local model support, and limited credit-based access to others. We&#8217;re also introducing a&nbsp;<a href=\"https:\/\/www.jetbrains.com\/ai-ides\/buy\/\" target=\"_blank\" rel=\"noopener\">new subscription system<\/a>&nbsp;that makes it easy to scale up as needed with the AI Pro and AI Ultimate tiers.<\/p>\n\n\n\n<p>This release introduces major enhancements to boost productivity and reduce repetitive work. Updates include smarter code completion, support for new cloud models like Claude 3.7 Sonnet and Gemini 2.0 Flash, advanced RAG-based context awareness, and a new edit mode for multi-file edits directly in the chat. More about&nbsp;<a href=\"https:\/\/www.jetbrains.com\/ai-ides\/\" target=\"_blank\" rel=\"noopener\">IDEs going AI<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Junie, your personal coding agent&nbsp;<sup>coming soon<\/sup><\/h3>\n\n\n\n<p>Junie, the coding agent by JetBrains, autonomously plans, writes, refines, and tests code to make your development experience smooth, efficient, and enjoyable. It handles tedious tasks like restructuring code, creating tests, and implementing refinements, so you can focus on bigger challenges and innovation. Get to know&nbsp;<a href=\"https:\/\/www.jetbrains.com\/junie\/\" target=\"_blank\" rel=\"noopener\">Junie<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"page__content-rust-specific-features\">Rust-specific features<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Color-coded inlay error descriptions<\/h3>\n\n\n\n<p>New inlay descriptions now appear next to errors in the editor when the caret is placed within the error&#8217;s range. These descriptions use matching color-coding for different error levels, making them easier to identify.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Color-coded-inlay-error-descriptions.png\" alt=\"\" class=\"wp-image-561053\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Automatic SQLx language injection<\/h3>\n\n\n\n<p>The dialect is determined by the&nbsp;<em>Languages &amp; Frameworks | SQL Dialects<\/em>&nbsp;setting. If there is nothing set, it will use the&nbsp;<code>DATABASE_URL<\/code>&nbsp;environment variable. If there isn&#8217;t one available, the injection will fall back to the generic dialect.<\/p>\n\n\n\n<p>Keep in mind that Rust-specific settings are prioritized over&nbsp;<code>.cargo\/Config.toml<\/code>&nbsp;environment variables.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Automatic-SQLx-language-injection.png\" alt=\"\" class=\"wp-image-561064\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Default features in Cargo projects<\/h3>\n\n\n\n<p>RustRover now enables only the default Cargo features for conditional compilation, aligning with Cargo\u2019s behavior. Previously, all features were assumed to be enabled by default, which sometimes improved code insight but could also cause conflicts. This change reduces unexpected behavior.<\/p>\n\n\n\n<p>You can still manage all features manually in the<code>Cargo.toml<\/code>&nbsp;file.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Default-features-in-Cargo-projects.png\" alt=\"\" class=\"wp-image-561076\"\/><\/figure>\n\n\n\n<p>We&#8217;ve added error highlighting (<a href=\"https:\/\/doc.rust-lang.org\/error_codes\/E0382.html\" target=\"_blank\" rel=\"noreferrer noopener\">E0382<\/a>) in completion suggestions for local variables that have already been moved.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Error-highlighting-in-completion.png\" alt=\"\" class=\"wp-image-561096\"\/><\/figure>\n\n\n\n<p>The debugging experience on Windows has been improved with fixes for displaying variables of various types (including Vector, String, and enums), as well as for crashes during the debugging process.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Enhanced-debugging-experience.png\" alt=\"\" class=\"wp-image-561110\"\/><\/figure>\n\n\n\n<p>Also, the external linter is turned on by default now.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"page__content-user-experience\">User experience<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">New terminal architecture&nbsp;<sup>Beta<\/sup><\/h3>\n\n\n\n<p>The 2025.1 release introduces a reworked terminal architecture (Beta) that runs on a stable core and uses the IDE\u2019s editor to render the UI. This change allows for new features while preserving compatibility and performance. More details in&nbsp;<a href=\"https:\/\/blog.jetbrains.com\/idea\/2025\/04\/jetbrains-terminal-a-new-architecture\/\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/idea\/2025\/04\/jetbrains-terminal-a-new-architecture\/\">this blog post<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/New-terminal-architecture-Beta.png\" alt=\"\" class=\"wp-image-561121\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Merged main menu in the main toolbar on Windows and Linux<\/h3>\n\n\n\n<p>For Windows and Linux users, the IDE now offers a new option to merge the main menu with the main toolbar, creating a more streamlined interface.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Merged-main-menu-in-the-main-toolbar-on-Windows-and-Linux.png\" alt=\"\" class=\"wp-image-561158\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Search functionality in Markdown previews<\/h3>\n\n\n\n<p>In RustRover 2025.1, you can search within Markdown previews. Since&nbsp;<code>README.md<\/code>&nbsp;previews are often the first thing you see when opening or cloning a project, this update makes it easier to find key information instantly.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/New-Search-functionality-in-Markdown-previews-with-caption.png\" alt=\"\" class=\"wp-image-561169\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Native OS file dialogs on Windows<\/h3>\n\n\n\n<p>RustRover now defaults to using native Windows file dialogs instead of the IDE\u2019s custom implementation, giving you a more familiar experience when opening or saving files. If you prefer the previous behavior, you can restore it in&nbsp;<em>Advanced Settings | User Interface<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Native-OS-file-dialogs-on-Windows.png\" alt=\"\" class=\"wp-image-561180\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">New file creation in the&nbsp;<em>Project<\/em>&nbsp;tool window<\/h3>\n\n\n\n<p>Creating a new file is now more convenient. You can access the popup listing available file templates directly from the&nbsp;<em>Project<\/em>&nbsp;window toolbar via the&nbsp;<em><strong>+<\/strong><\/em>&nbsp;icon, and the search field lets you quickly filter and find the file type you need.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/New-file-creation-in-the-Project-tool-window.png\" alt=\"\" class=\"wp-image-561191\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Automatic plugin updates<\/h3>\n\n\n\n<p>You can set RustRover to automatically update plugins in the background. It will download available updates and apply them on the next IDE restart without additional notifications. You can enable automatic updates by clicking the&nbsp;<em>Enable auto-update<\/em>&nbsp;checkbox in the update dialog or via&nbsp;<em>File | Settings | Appearance &amp; Behavior | System Settings | Updates<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Automatic-plugin-updates.png\" alt=\"\" class=\"wp-image-561202\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"page__content-ai-assistant\">AI Assistant<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Expanded selection of LLMs in chat<\/h3>\n\n\n\n<p>The AI model selection in the chat has just been expanded! Now, you can take full control of your AI experience by choosing from the latest and most advanced language models, including:<\/p>\n\n\n\n<ul>\n<li><strong>Claude 3.7 Sonnet<\/strong><\/li>\n\n\n\n<li><strong>OpenAI GPT-4.5<\/strong><\/li>\n\n\n\n<li><strong>Gemini 2.0 Flash<\/strong><\/li>\n<\/ul>\n\n\n\n<p>And we\u2019re not stopping here! JetBrains is committed to continuously integrating AI models to ensure you have access to the most up-to-date AI technologies.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Expanded-selection-of-LLMs-in-chat.png\" alt=\"\" class=\"wp-image-561213\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Offline mode: Work with local models<\/h3>\n\n\n\n<p>AI Assistant gives you the flexibility to work with local models offline or leverage cloud-based AI processing. With the new offline mode, you can now work without an internet connection while still benefiting from AI-powered coding assistance. Use local models via Ollama or LM Studio for chat, code generation, commit messages, inline documentation, and more.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"3840\" height=\"2160\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Offline-mode-Work-with-local-models.png\" alt=\"\" class=\"wp-image-561247\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Multi-file changes in edit mode<\/h3>\n\n\n\n<p>Editing multiple files has never been easier! AI Assistant now supports multi-file edits in the chat, suggesting changes across your project while leveraging retrieval-augmented generation (RAG) to locate the most relevant files. Reduce repetitive tasks and implement modifications across multiple files with a single interaction.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Multi-file-changes-in-edit-mode.png\" alt=\"\" class=\"wp-image-561261\" style=\"aspect-ratio:1.7777777777777777;width:840px;height:auto\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Web search from the chat<\/h3>\n\n\n\n<p>With the new&nbsp;<code>\/web<\/code>&nbsp;command, AI Assistant can now fetch documentation, troubleshooting tips, and the latest technical resources directly from the web \u2013 right inside your chat window. No more switching tabs or searching manually!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Web-search-from-chat.png\" alt=\"\" class=\"wp-image-561272\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Apply snippets from the chat<\/h3>\n\n\n\n<p>Now, when the AI chat suggests a code snippet, you can use the&nbsp;<em>Apply<\/em>&nbsp;button to automatically find the optimal place to insert the newly generated code \u2013 no more manual copy-pasting. This feature significantly streamlines your workflow.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Apply-snippets-from-chat-media.png\" alt=\"\" class=\"wp-image-561284\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Exclude files from AI context<\/h3>\n\n\n\n<p>You can further enhance your control over what AI Assistant sees by configuring an&nbsp;<code>.aiignore<\/code>&nbsp;file. This allows you to prevent JetBrains AI from accessing specific files or folders, ensuring that sensitive information is never processed.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/04\/Exclude-files-from-AI-context.png\" alt=\"\" class=\"wp-image-561295\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Smarter AI context awareness<\/h3>\n\n\n\n<p>AI Assistant now understands your entire project better, using advanced RAG to surface the most relevant files, methods, and classes. In addition, the context now includes recently accessed files, making interactions even more relevant to your workflow. Because you can now also add or remove attachments sent as context, you maintain full control over the AI\u2019s context.<\/p>\n\n\n    <div class=\"buttons\">\n        <div class=\"buttons__row\">\n                                                <a href=\"https:\/\/www.jetbrains.com\/rust\/download\/\" class=\"btn\" target=\"_blank\" rel=\"noopener\">Download RustRover 2025.1<\/a>\n                                                    <\/div>\n    <\/div>\n\n\n\n\n","protected":false},"author":1454,"featured_media":561325,"comment_status":"closed","ping_status":"closed","template":"","categories":[907,8643],"tags":[477,8430],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/rust\/560983"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/rust"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/types\/rust"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/users\/1454"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/comments?post=560983"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/rust\/560983\/revisions"}],"predecessor-version":[{"id":561937,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/rust\/560983\/revisions\/561937"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/media\/561325"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/media?parent=560983"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/categories?post=560983"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/tags?post=560983"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ja\/wp-json\/wp\/v2\/cross-post-tag?post=560983"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}