{"id":274738,"date":"2022-08-23T12:11:53","date_gmt":"2022-08-23T11:11:53","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=webstorm&#038;p=274738"},"modified":"2022-08-23T14:10:28","modified_gmt":"2022-08-23T13:10:28","slug":"webstorm-2022-3-roadmap","status":"publish","type":"webstorm","link":"https:\/\/blog.jetbrains.com\/zh-hans\/webstorm\/2022\/08\/webstorm-2022-3-roadmap","title":{"rendered":"What\u2019s Next: WebStorm 2022.3 Roadmap"},"content":{"rendered":"<p>We rolled out <a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/webstorm\/2022\/07\/webstorm-2022-2\">WebStorm 2022.2<\/a>, our second major update of 2022, in July. Today we want to tell you about our plans for the next release, which is coming this November. We\u2019ll continue improving the overall quality of WebStorm and fix some long-standing bugs. Here are the biggest things we\u2019ve planned for WebStorm 2022.3:<\/p>\n<ul>\n<li><strong>Further improvements for Vue. <\/strong>We\u2019ll keep working on Vue 3 bug fixes and features. We plan to add support for a new syntax like <code>defineProps<\/code> destructuring in the <code>&lt;script setup&gt;<\/code> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-54555\" target=\"_blank\" rel=\"noopener\">WEB-54555<\/a>) and an inline type cast in the <code>&lt;template&gt;<\/code> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-55049\" target=\"_blank\" rel=\"noopener\">WEB-55049<\/a>). We\u2019re also going to look into supporting Vue props declared with reusable functions (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-54775\" target=\"_blank\" rel=\"noopener\">WEB-54775<\/a>) and fix a couple of issues related to Pinia (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-56053\" target=\"_blank\" rel=\"noopener\">WEB-56053<\/a>, <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-54474\" target=\"_blank\" rel=\"noopener\">WEB-54474<\/a>). Additionally, we&#8217;ll fix bugs related to <a href=\"https:\/\/v3.nuxtjs.org\/guide\/concepts\/auto-imports\/\" target=\"_blank\" rel=\"noopener\">Nuxt 3 auto-imports<\/a> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-56392\" target=\"_blank\" rel=\"noopener\">WEB-56392<\/a> and <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-56566\" target=\"_blank\" rel=\"noopener\">WEB-56566<\/a>).<\/li>\n<li><strong>U<\/strong><strong>pdates for React. <\/strong>We\u2019ll dedicate some time to fixing minor issues in WebStorm\u2019s React support, such as type mismatch errors (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-55002\/\" target=\"_blank\" rel=\"noopener\">WEB-55002<\/a>), an issue with closing tags being shown when searching for React component usages (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-25807\/\" target=\"_blank\" rel=\"noopener\">WEB-25807<\/a>), and resolution for fields in the Redux store with <code>useSelector<\/code> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-50731\/\" target=\"_blank\" rel=\"noopener\">WEB-50731<\/a>).<\/li>\n<li><strong>Type narrowing in Angular templates<\/strong>. As part of solving one of our Angular users&#8217; biggest problems \u2013 the lack of strict mode support (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-49062\" target=\"_blank\" rel=\"noopener\">WEB-49062<\/a>) \u2013 we\u2019re going to implement type narrowing in Angular templates (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-32598\/Type-narrowing-in-Angular-templates\" target=\"_blank\" rel=\"noopener\">WEB-32598<\/a>). This will help with false positive inspections and provide correct type information in the <em>Documentation<\/em> popup, among other benefits.<\/li>\n<li><strong><em>Code Vision<\/em><\/strong><strong> for JavaScript and TypeScript<\/strong>. You may have heard about our <a href=\"https:\/\/www.jetbrains.com\/help\/rider\/Code_Vision.html\" target=\"_blank\" rel=\"noopener\"><em>Code Vision<\/em> feature<\/a>, which is available in JetBrains Rider and IntelliJ IDEA. We\u2019re going to implement this feature for JavaScript and TypeScript in WebStorm 2022.3 (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-40924\" target=\"_blank\" rel=\"noopener\">WEB-40924<\/a>) to make it easier to track the usages of various classes, methods, type aliases, and interfaces in your code.<\/li>\n<li><strong>Reworked <\/strong><strong><em>New Project<\/em><\/strong><strong> wizard<\/strong>. We\u2019ve cut out some of the clutter by removing the AngularJS, Cordova, and Meteor options from the <em>New Project<\/em> wizard in v2022.2. In the upcoming release, we\u2019re planning to add project templates for Vite and Next.js as well as update the one for generating Vue projects.<\/li>\n<\/ul>\n<p>That\u2019s about it. We can\u2019t guarantee that all of these improvements will make it into this release, but we\u2019ll try our best to make it happen. Stay tuned for information about the upcoming start of the Early Access Program for 2022.3!<\/p>\n<p>P.S. We\u2019re actively looking for people to join our team. If you\u2019d love to be a part of the WebStorm team, check out our three open positions: <a href=\"https:\/\/www.jetbrains.com\/careers\/jobs\/web-and-javascript-developer-advocate-841\/\" target=\"_blank\" rel=\"noopener\">developer advocate<\/a>, <a href=\"https:\/\/www.jetbrains.com\/careers\/jobs\/qa-engineer-webstorm-860\/\" target=\"_blank\" rel=\"noopener\">QA engineer<\/a>, and <a href=\"https:\/\/www.jetbrains.com\/careers\/jobs\/senior-software-developer-webstorm-131\/\" target=\"_blank\" rel=\"noopener\">senior software developer<\/a>. If they sound interesting to you, please apply.<\/p>\n<p><em>The WebStorm team<\/em><\/p>\n","protected":false},"author":989,"featured_media":274739,"comment_status":"closed","ping_status":"closed","template":"","categories":[89],"tags":[91,7089],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/274738"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/types\/webstorm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/users\/989"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=274738"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/274738\/revisions"}],"predecessor-version":[{"id":274778,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/274738\/revisions\/274778"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/274739"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=274738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=274738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=274738"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=274738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}