{"id":286629,"date":"2022-10-17T14:57:12","date_gmt":"2022-10-17T13:57:12","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=webstorm&#038;p=286629"},"modified":"2022-11-22T09:23:22","modified_gmt":"2022-11-22T08:23:22","slug":"webstorm-2022-3-eap-3","status":"publish","type":"webstorm","link":"https:\/\/blog.jetbrains.com\/zh-hans\/webstorm\/2022\/10\/webstorm-2022-3-eap-3","title":{"rendered":"WebStorm 2022.3 EAP #3: New Setting Sync Solution, and Improvements for Angular and CSS"},"content":{"rendered":"<p>WebStorm 2022.3 EAP build #3 is now available! To catch up on all the new features, check out our previous <a href=\"https:\/\/blog.jetbrains.com\/webstorm\/tag\/webstorm-2022-3\/\">EAP blog posts<\/a>.<\/p>\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 EAP builds and keep both your stable and EAP versions up to date. You can also manually download the EAP 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 2022.3 EAP<\/a><\/p>\n<p><strong>Important! WebStorm EAP builds are not fully tested and might be unstable.<\/strong><\/p>\n<p>Below, you\u2019ll find some of the improvements available in WebStorm 2022.3 EAP #3. Please try them out and share your feedback using our <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/WEB\" target=\"_blank\" rel=\"noopener\">issue tracker<\/a> or in the comments.<\/p>\n<h2 id=\"new_settings_sync_solution\">New Settings Sync solution<\/h2>\n<p>In this EAP build, we\u2019ve introduced a reworked solution to synchronize your custom IDE settings.<\/p>\n<p>For a long time now, two solutions have existed in parallel and featured intersecting functionality \u2013 <a href=\"https:\/\/www.jetbrains.com\/help\/webstorm\/sharing-your-ide-settings.html#IDE_settings_sync\" target=\"_blank\" rel=\"noopener\"><em>IDE Settings Sync<\/em><\/a> and <a href=\"https:\/\/www.jetbrains.com\/help\/webstorm\/settings-tools-settings-repository.html\" target=\"_blank\" rel=\"noopener\"><em>Settings Repository<\/em><\/a>, which were bundled with WebStorm as plugins. To avoid the confusion caused by having two similar bundled plugins, we&#8217;ve merged their feature sets into a single solution \u2013 the new <em>Settings Sync<\/em> plugin. It covers all the basic prerequisites for settings synchronization and is now available in WebStorm and our other IntelliJ-based IDEs.<\/p>\n<p><img decoding=\"async\" alt=\"Enable settings sync in the WebStorm settings \" width=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/10\/Settings-sync.png\"><\/p>\n<p>Settings synchronization is essential if you use your IntelliJ-based IDEs on multiple computers. After changing a color scheme or a keymap on a machine, you\u2019ll want to have the same setup on your other machines. If you have only one machine, <em>Settings Sync<\/em> can still be useful as a backup solution, as it will allow you to automatically restore all your settings when setting up a new machine from scratch.<\/p>\n<p>The new <em>Settings Sync<\/em> plugin can sync all the shareable IDE settings, bundled plugins, and third-party plugins. By default, the plugins themselves will be synced and installed silently. As for the third-party plugin settings, not all of them will be transferred seamlessly, as this is dependent on the vendors. We are in discussions with plugin developers about the actions required from their side.<\/p>\n<h4 id=\"how_does_the_new_settings_sync_plugin_work\">How does the new Settings Sync plugin work?<\/h4>\n<p>The settings are stored in the cloud attached to your JetBrains Account. If you use different IntelliJ-based IDEs with the same JetBrains Account, your settings will automatically sync.<\/p>\n<p>In the cases where a conflict arises due to the simultaneous modification of settings on two different computers, the settings will be merged using the most recent configuration.<\/p>\n<h4 id=\"how_to_enable_the_new_settings_sync_plugin\">How to enable the new Settings Sync plugin<\/h4>\n<p>Depending on your current approach to settings synchronization, you may need to enable the new plugin manually:<\/p>\n<ul>\n<li>If you have been using <em>IDE Settings Sync<\/em>, your data will be automatically migrated to the new plugin, so you won\u2019t need to take any action.<\/li>\n<li>If you are a <em>Settings Repository<\/em> user, we advise you to continue using your current setup, as the migration is still a work in progress. You\u2019ll get an in-IDE notification when the functionality is ready.<\/li>\n<li>If you weren\u2019t previously using a settings synchronization solution but want to try the new one, you can enable it via <em>Preferences \/ Settings | Settings Sync | Enable Settings Sync<\/em>.<\/li>\n<\/ul>\n<h4 id=\"important_note_on_the_new_settings_sync_plugin\">Important note on the new Settings Sync plugin<\/h4>\n<p>Here are two important points about switching to the new solution:<\/p>\n<ol>\n<li>If you\u2019re using WebStorm 2022.2.x or earlier with the old <em>Settings Sync<\/em> plugin and want to enable the new plugin on v2022.3, your settings will be migrated from the older version, but they won\u2019t be synchronized between v2022.2 and v2022.3 afterwards.<\/li>\n<li>The <em>Settings Repository<\/em> plugin has been unbundled. If you\u2019re using it, your settings will be migrated when upgrading to v2022.3, but the new <em>Settings Sync<\/em> plugin won\u2019t be turned on automatically. If you want to keep on using the <em>Settings Repository<\/em> plugin, you\u2019ll need to install it manually from <a href=\"https:\/\/plugins.jetbrains.com\/plugin\/7566-settings-repository\" target=\"_blank\" rel=\"noopener\">JetBrains Marketplace<\/a>.<\/li>\n<\/ol>\n<h2 id=\"improved_copy_cut_paste_behavior\">Improved copy-cut-paste behavior<\/h2>\n<p>We\u2019ve improved the editing experience in the IDE by reworking the paste action (<em>\u2318V<\/em> \/ <em>Ctrl+V<\/em>) behavior. Now when you copy (<em>\u2318C<\/em> \/ <em>Ctrl+C<\/em>) or cut (<em>\u2318X<\/em> \/ <em>Ctrl+X<\/em>) a line without any code selected, the paste action will add the contents of the clipboard to above the current line, not at your caret, as it used to in previous versions. You can disable this behavior in <em>Preferences \/ Settings | Advanced Settings<\/em>.<\/p>\n<p><img decoding=\"async\" alt=\"Copy and paste in the editor and pasting to line above\" width=\"800\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/10\/copy-cut-and-paste.gif\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/10\/copy-cut-and-paste.png\"><\/p>\n<h2 id=\"support_for_new_css_features\">Support for new CSS features<\/h2>\n<p>We\u2019ve made a number of improvements to the CSS support in WebStorm in this release.<\/p>\n<p>First, WebStorm now understands the <code>@supports<\/code> at-rule, which associates a block of statements with an <code>@supports<\/code> condition.<\/p>\n<p><img decoding=\"async\" alt=\"No more errors shown in the selector syntax\" width=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/10\/supports-at-rule.png\"><\/p>\n<p>WebStorm 2022.3 also includes support for viewport units. The viewport-percentage lengths are relative to the size of the initial containing block \u2013 which is itself based on the size of either the viewport (for continuous media) or the page area (for paged media) \u2013 and are scaled accordingly.<\/p>\n<p><img decoding=\"async\" alt=\"using vh properties in the CSS and previewing the result\" width=\"800\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/10\/Css-Features.gif\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/10\/Css-Features.png\"><\/p>\n<p>We\u2019ve also added support for <a href=\"https:\/\/developer.chrome.com\/blog\/media-query-range-syntax\/\" target=\"_blank\" rel=\"noopener\">range media queries<\/a> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-56889\/Support-media-queries-level-4-range-context\" target=\"_blank\" rel=\"noopener\">WEB-56889<\/a>), <a href=\"https:\/\/www.w3.org\/TR\/css-contain-3\/\" target=\"_blank\" rel=\"noopener\">container queries<\/a> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-55074\/Support-CSS-container-queries\" target=\"_blank\" rel=\"noopener\">WEB-55074<\/a>), <a href=\"https:\/\/www.w3.org\/TR\/css-cascade-5\/\" target=\"_blank\" rel=\"noopener\">@layer (Cascade layers)<\/a> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-55075\" target=\"_blank\" rel=\"noopener\">WEB-55075<\/a>), and <a href=\"https:\/\/www.w3.org\/TR\/css-color-5\/\" target=\"_blank\" rel=\"noopener\">color modification functions<\/a> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-54909\" target=\"_blank\" rel=\"noopener\">WEB-54909<\/a>).<\/p>\n<h2 id=\"updates_for_angular\">Updates for Angular<\/h2>\n<p>WebStorm now excludes the .angular cache folder from global searches. This will help provide better search results as you will no longer be getting results from this directory.<\/p>\n<p><img decoding=\"async\" alt=\"Showing the .angular cahche folder is not included in global searches\" width=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/10\/ignored-angular-folder-1.png\"><\/p>\n<p>As part of our ongoing improvements for Angular support in WebStorm, we\u2019ve also fixed a few issues:<\/p>\n<ul>\n<li>We\u2019ve disabled the \u201cInaccessible component member&#8221; warning that was being shown for protected fields (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-56190\/Angular-14-suppress-Inaccessible-component-member-inspection-for-protected-members\" target=\"_blank\" rel=\"noopener\">WEB-56190<\/a>).<\/li>\n<li>We\u2019ve fixed the issue with incorrect type evaluation of <code>as<\/code> variables in structural directives (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-49393\" target=\"_blank\" rel=\"noopener\">WEB-49393<\/a>).<\/li>\n<li>WebStorm now infers the <code>ngrx<\/code> type correctly when using <code>ngTemplateContextGuard<\/code> (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-52068\" target=\"_blank\" rel=\"noopener\">WEB-52068<\/a>).<\/li>\n<\/ul>\n<p>That\u2019s it for today. For the full list of the improvements available in WebStorm 2022.3 EAP #3, check out the <a href=\"https:\/\/youtrack.jetbrains.com\/articles\/WEB-A-233538377\/WebStorm-2236646115-Release-Notes\" target=\"_blank\" rel=\"noopener\">release notes<\/a>.<\/p>\n<p><em>The WebStorm team<\/em><\/p>\n","protected":false},"author":743,"featured_media":280654,"comment_status":"closed","ping_status":"closed","template":"","categories":[826],"tags":[1731,7089],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/286629"}],"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\/743"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=286629"}],"version-history":[{"count":10,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/286629\/revisions"}],"predecessor-version":[{"id":299425,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/286629\/revisions\/299425"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/280654"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=286629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=286629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=286629"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=286629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}