{"id":552606,"date":"2025-03-14T12:18:11","date_gmt":"2025-03-14T11:18:11","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=webstorm&#038;p=552606"},"modified":"2025-04-16T14:38:25","modified_gmt":"2025-04-16T13:38:25","slug":"webstorm-2025-1-beta","status":"publish","type":"webstorm","link":"https:\/\/blog.jetbrains.com\/en\/webstorm\/2025\/03\/webstorm-2025-1-beta","title":{"rendered":"WebStorm 2025.1 Beta Is Here With AI Enhancements, Framework Improvements, and a Better User Experience"},"content":{"rendered":"\n<p>The EAP cycle for WebStorm 2025.1 is over, and we&#8217;re excited to share what&#8217;s included in the Beta builds.<\/p>\n\n\n<p>The <a href=\"https:\/\/www.jetbrains.com\/toolbox-app\/\" target=\"_blank\" rel=\"noopener\">Toolbox App<\/a> is the easiest way to get the Beta builds and keep both them and your stable versions up to date. You can also manually download the Beta builds from our <a href=\"https:\/\/www.jetbrains.com\/webstorm\/nextversion\/\" target=\"_blank\" rel=\"noopener\">website<\/a>.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/webstorm\/nextversion\" target=\"_blank\" rel=\"noopener\">DOWNLOAD WEBSTORM 2025.1 BETA<\/a><\/p>\n\n\n<p><strong>Important! WebStorm Beta builds are not fully tested and might be unstable.<\/strong> Please try the latest build and share your feedback with us. You can do so using <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/WEB\" target=\"_blank\" rel=\"noopener\">our issue tracker<\/a> or by leaving a comment on this blog post.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Key improvements<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">AI Assistant<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\u0421laude and local LLMs<\/h4>\n\n\n\n<p>JetBrains AI Assistant is advancing its line of models! We\u2019ve added support for Claude 3.5 Sonnet and Claude 3.5 Haiku, now provisioned in Amazon Bedrock. This means you\u2019ll benefit from sharper responses, faster insights, and an even smoother experience. AI Assistant\u2019s lineup of OpenAI models now includes o1, o1-mini, and o3-mini.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\">\n<p><strong>Update<\/strong>: A new version of the&nbsp;<a href=\"https:\/\/plugins.jetbrains.com\/plugin\/22282-jetbrains-ai-assistant\" target=\"_blank\" rel=\"noreferrer noopener\">JetBrains AI Assistant plugin<\/a>&nbsp;has been released, bringing support for even more models, including:<br>\u2022 Claude 3.7 Sonnet<br>\u2022 OpenAI GPT-4.5<br>\u2022 Gemini 2.0 Flash<\/p>\n<\/blockquote>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-ai-models.png\" alt=\"\" class=\"wp-image-553090\"\/><\/figure>\n\n\n\n<p>In addition to cloud-based models, you can now connect the AI chat to local models available through Ollama and LM Studio! You can set up local providers via <em>Settings<\/em> | <em>Tools<\/em> | <em>AI Assistant<\/em> | <em>Custom Models:<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1602\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-local-llms.png\" alt=\"\" class=\"wp-image-552617\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Improved AI completion for web frameworks<\/h4>\n\n\n\n<p>For the 2025.1 release we have focused on improving AI-based completion in the context of web framework components. These changes affect local full line code completion as well as cloud-based completion suggestions:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-ai-completion-1.png\" alt=\"\" class=\"wp-image-552651\"\/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Enhanced AI test generation<\/h4>\n\n\n\n<p>AI-powered test generation now offers more careful framework detection, especially for cases when multiple frameworks are present. Additionally, generated tests respect naming conventions:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-AI-test-gen.gif\" alt=\"\" class=\"wp-image-552662\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">TypeScript<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Service-powered type engine<\/h4>\n\n\n\n<p>The engine previously known as WebStorm@next or the <em>Use types from server<\/em> option now has an official name \u2013 <a href=\"https:\/\/blog.jetbrains.com\/webstorm\/2023\/12\/try-the-future-typescript-engine-with-the-webstorm-next-program\/\" data-type=\"link\" data-id=\"https:\/\/blog.jetbrains.com\/webstorm\/2023\/12\/try-the-future-typescript-engine-with-the-webstorm-next-program\/\">the service-powered type engine<\/a>! We&#8217;re currently polishing it, with a focus on performance. A dedicated icon in the status bar displays the engine&#8217;s status, and you can granularly enable or disable it for supported frameworks or for TypeScript in general within the current project:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-TypeEngine.png\" alt=\"\" class=\"wp-image-552673\"\/><\/figure>\n\n\n\n<p>If you notice any degradations when the new engine is enabled, please use the <em>Submit a bug report<\/em> link.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Angular improvements<\/h3>\n\n\n\n<p>WebStorm now supports code completion for host binding attributes based on directive selectors. Quick-fixes for creating fields are also available within binding expressions. Moreover, refactoring is supported across different locations and is even available for CSS classes:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-Angular-host-binding.gif\" alt=\"\" class=\"wp-image-552684\"\/><\/figure>\n\n\n\n<p>The long-awaited support for Reactive Forms is here. This update includes code completion, syntax highlighting, validation, refactoring, and quick-fixes for Reactive Forms. Both declaration styles \u2013 constructor-based and builder-based \u2013 are fully supported.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-reactive-forms.gif\" alt=\"\" class=\"wp-image-552783\"\/><\/figure>\n\n\n\n<p>There is also a new intention to extract or inline component templates. Invoke <em>Show Context Actions<\/em> (<em>\u2325\u23ce <\/em>(macOS) \/ <em>Alt+Enter<\/em> (Windows\/Linux)) to use the action:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-Angular-templates.gif\" alt=\"\" class=\"wp-image-552695\"\/><\/figure>\n\n\n\n<p>This release brings many other improvements and bug fixes for Angular beyond the features mentioned above.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Next.js improvements<\/h3>\n\n\n\n<p>WebStorm 2025.1 Beta introduces automatic run configuration creation for Next.js applications. Now, you can easily initiate debug sessions for both the client and server components of your Next.js application using the<em> Run widget<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-NextJS-debug-1.png\" alt=\"\" class=\"wp-image-552717\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Vue improvements<\/h3>\n\n\n\n<p>The <em>New Project<\/em> wizard now gives you the option to generate a new Nuxt project using the Nuxt CLI (<code>nuxi<\/code>):<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2000\" height=\"1000\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-Nuxt.png\" alt=\"\" class=\"wp-image-552728\"\/><\/figure>\n\n\n\n<p>We\u2019ve also implemented several bug fixes, including:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-59818\" target=\"_blank\" rel=\"noopener\">WEB-59818<\/a> \u2013 Vue custom global properties added by augmenting <code>vue<\/code> are now resolved.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-69114\" target=\"_blank\" rel=\"noopener\">WEB-69114<\/a> \u2013 Auto-completion and auto-imports now work for packaged components declared with <code>__VLS_WithTemplateSlots<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">User experience<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Floating toolbar<\/h4>\n\n\n\n<p>In WebStorm 2025.1 Beta, invoking <em>Show Context Actions<\/em> (\u2325\u23ce (macOS) \/ Alt+Enter (Windows\/Linux)) now opens the floating toolbar with different action groups. The toolbar also appears when you select code in the editor:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-floaing-toolbar.png\" alt=\"\" class=\"wp-image-552739\"\/><\/figure>\n\n\n\n<p>The floating toolbar contains the following actions and action groups:<\/p>\n\n\n\n<ul>\n<li>Context actions<\/li>\n\n\n\n<li>AI Assistant context actions (if the AI Assistant plugin is installed)<\/li>\n\n\n\n<li>Refactor<\/li>\n\n\n\n<li>Show usages<\/li>\n\n\n\n<li>Surround with tag<\/li>\n\n\n\n<li>Reformat code<\/li>\n<\/ul>\n\n\n\n<p>You can customize the contents of the toolbar by opening the kebab menu (three vertical dots) and selecting the <em>Customize Toolbar\u2026<\/em> option<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">New file creation in the Project tool window<\/h4>\n\n\n\n<p>Creating new files is now easier in the <em>Project <\/em>tool window. You can simply use the + icon located directly in the window\u2019s toolbar:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-new-file-from-project-view.png\" alt=\"\" class=\"wp-image-552750\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">GraphQL and Prisma<\/h3>\n\n\n\n<p>WebStorm 2025.1 Beta introduces the following improvements for Prisma:<\/p>\n\n\n\n<ul>\n<li>ULID support (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-71197\" target=\"_blank\" rel=\"noopener\">WEB-71197<\/a>)<\/li>\n\n\n\n<li>Multi-line comment syntax (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-70929\" target=\"_blank\" rel=\"noopener\">WEB-70929<\/a>)<\/li>\n\n\n\n<li><code>gql(query)<\/code> syntax support (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-71611\" target=\"_blank\" rel=\"noopener\">WEB-71611<\/a>)<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Prettier integration improvements<\/h3>\n\n\n\n<p>WebStorm now automatically detects and applies the nearest in the directory tree Prettier configuration when formatting files, ensuring the code style is consistent across subprojects. The Indentation status bar widget shows whether Prettier has modified the code style. The new dropdown menu offers the following options:<\/p>\n\n\n\n<ul>\n<li><em>Open Configuration File<\/em> (or use default Prettier settings if none exists)<\/li>\n\n\n\n<li><em>Open Prettier Settings<\/em><\/li>\n\n\n\n<li><em>Disable Prettier Code Style Modifications<\/em><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-prettoer-widget.png\" alt=\"\" class=\"wp-image-552761\" style=\"aspect-ratio:2;width:840px;height:auto\"\/><\/figure>\n\n\n\n<p>Code style changes made by Prettier are visible in the <em>Code Style<\/em> tab under <em>Settings<\/em>, where you can also disable automatic modifications.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/03\/WS251-Prettier-settings.png\" alt=\"\" class=\"wp-image-552795\"\/><\/figure>\n\n\n\n<p>A new setting controls whether WebStorm should use Prettier to auto-format code styles. This option is enabled by default. In case if <code>.editorconfig<\/code> is present, Prettier takes precedence for files it handles, but if certain options aren\u2019t specified in Prettier, EditorConfig settings still apply.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Monorepo support<\/h3>\n\n\n\n<p>We are consistently working to improve reliability and performance in mono-repo setups. Here are some of the most noticable fixes in this build for long-standing issues:<\/p>\n\n\n\n<ul>\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-71210\" target=\"_blank\" rel=\"noopener\">WEB-71210<\/a> \u2013 Auto-import and syntax highlighting now work as expected for sibling packages in monorepo.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-70868\" target=\"_blank\" rel=\"noopener\">WEB-70868<\/a> \u2013 IntelliSense fixed in large nx TypeScript monorepos.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-69642\" target=\"_blank\" rel=\"noopener\">WEB-69642<\/a> \u2013 Array values in <code>package.json<\/code> export fields are now processed properly.<\/li>\n\n\n\n<li><a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-64647\" target=\"_blank\" rel=\"noopener\">WEB-64647<\/a> \u2013 Path aliases defined in <code>package.json<\/code> exports are now used by auto-import in monorepos.<\/li>\n<\/ul>\n\n\n\n<p>That\u2019s it for today. For the full list of improvements introduced throughout the latest 2025.1 EAPs, check out the release notes.<\/p>\n\n\n\n<p><em>The WebStorm team<\/em><\/p>\n","protected":false},"author":1474,"featured_media":552808,"comment_status":"closed","ping_status":"closed","template":"","categories":[826,89],"tags":[8721],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/webstorm\/552606"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/webstorm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/webstorm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/1474"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=552606"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/webstorm\/552606\/revisions"}],"predecessor-version":[{"id":561764,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/webstorm\/552606\/revisions\/561764"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/552808"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=552606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=552606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=552606"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=552606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}