{"id":84915,"date":"2020-10-15T13:02:45","date_gmt":"2020-10-15T13:02:45","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=webstorm&#038;p=84915"},"modified":"2020-10-19T14:24:50","modified_gmt":"2020-10-19T14:24:50","slug":"webstorm-2020-3-eap-4","status":"publish","type":"webstorm","link":"https:\/\/blog.jetbrains.com\/zh-hans\/webstorm\/2020\/10\/webstorm-2020-3-eap-4","title":{"rendered":"WebStorm 2020.3 EAP #4: More Flexible ESLint Configuration and Per-Project Plugins"},"content":{"rendered":"<p>WebStorm 2020.3 EAP build #4 is now available! In addition to downloading this build and trying the latest enhancements, we\u2019d like to ask you to do something special this time.<!--more--><\/p>\n<p>We\u2019re looking for ways to improve the Early Access Program, so, <strong>if you\u2019ve ever used any EAP builds, please fill out <a href=\"https:\/\/surveys.jetbrains.com\/s3\/webstorm-eap-survey\" target=\"_blank\" rel=\"noopener\"><strong>this short survey<\/strong><\/a><\/strong>. It shouldn\u2019t take more than 5-10 minutes. In appreciation for your time, we\u2019ll be raffling off 3 one-year subscriptions to our All Products Pack!<\/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. Or you can 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 2020.3 EAP<\/a><\/p>\n<p><strong>Important! WebStorm EAP builds are not fully tested and might be unstable.<\/strong><\/p>\n<p>Here are some of the highlights of WebStorm 2020.3 EAP #4. For the full list of issues fixed in this update, see the <a href=\"https:\/\/confluence.jetbrains.com\/display\/WI\/WebStorm+203.4818.40+Release+Notes\" target=\"_blank\" rel=\"noopener\">release notes<\/a>.<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/webstorm\/2020\/10\/webstorm-2020-3-eap-4#more_flexible_eslint_configuration\">More flexible ESLint configuration<\/a>\n<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/webstorm\/2020\/10\/webstorm-2020-3-eap-4#plugins_enabled_per_project\">Plugins enabled per project<\/a>\n<\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/zh-hans\/webstorm\/2020\/10\/webstorm-2020-3-eap-4#usability_improvements_to_the_project_tool_window\">Usability improvements to the <em>Project<\/em> tool window<\/a>\n<\/li>\n<\/ul>\n<h2 id=\"more_flexible_eslint_configuration\">More flexible ESLint configuration<\/h2>\n<p>If you\u2019ve ever used ESLint in complex projects, you might know that the IDE could occasionally fail to guess the right working directory for ESLint. To deal with such situations, we\u2019ve added a new <em>Working directories<\/em> field to the <em>Manual ESLint configuration<\/em> section under <em>Preferences\/Settings | Languages &amp; Frameworks | JavaScript | Code Quality Tools | ESLint<\/em>.<\/p>\n<p><img decoding=\"async\" alt=\"eslint-manual-configuration-2020-3\" width=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/eslint-manual-configuration-2020-3.png\"\/><\/p>\n<p>By default, WebStorm keeps the new field empty and tries to detect the working directory automatically based on the nearest <em>.eslintrc<\/em> or <em>.eslintignore<\/em> file. If the automatically detected working directory doesn\u2019t match your project configuration, you can specify a glob pattern or a path to it in the <em>Working directories<\/em> field. Multiple values can be added, too, separated by semicolons.<\/p>\n<h2 id=\"plugins_enabled_per_project\">Plugins enabled per project<\/h2>\n<p>We\u2019ve added the ability to turn plugins on and off for specific projects only, which should make it easier for you to configure each project to your needs. To try this out, select the plugin you need in <em>Preferences\/Settings | Plugins, <\/em>click the gear icon next to its name, and choose the desired option.<\/p>\n<p><img decoding=\"async\" alt=\"per-project-plugins-ws\" width=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/per-project-plugin-prettier.png\"><\/p>\n<h2 id=\"usability_improvements_to_the_project_tool_window\">Usability improvements to the Project tool window<\/h2>\n<p>Lastly, we\u2019ve introduced some usability improvements to the <em>Project <\/em>tool window. First, the <em>Collapse All<\/em> button is now coupled with the <em>Expand All <\/em>button so you can quickly expand all nested elements.<\/p>\n<p><img decoding=\"async\" alt=\"expand-all-button\" width=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/expand-all-button.png\"\/><\/p>\n<p>We\u2019ve also made it a bit easier to preview files from the <em>Project <\/em>tool window \u2013 select the file and press <em>Space<\/em> to do that.<\/p>\n<p><img decoding=\"async\" alt=\"preview-file-from-project-view\" width=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/preview-file-from-project-view.png\"\/><\/p>\n<p>That\u2019s it for the biggest highlights. This build also comes with a few smaller but important changes:<\/p>\n<ul>\n<li>\nWe\u2019ve added a <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/IDEA-80498\" target=\"_blank\" rel=\"noopener\">new action<\/a> for transposing characters. The action doesn\u2019t have a shortcut assigned to it, but you can change that by going to <em>Preferences\/Settings | Keymap<\/em> and adding a custom shortcut there. You can also invoke the new action by looking for <em>Transpose<\/em> in the <a href=\"https:\/\/www.jetbrains.com\/help\/webstorm\/searching-everywhere.html\" target=\"_blank\" rel=\"noopener\"><em>Search Everywhere<\/em><\/a> popup.\n<\/li>\n<li>\nWebStorm can now hide dynamic usages from the results presented in the <a href=\"https:\/\/www.jetbrains.com\/help\/webstorm\/find-highlight-usages.html\" target=\"_blank\" rel=\"noopener\"><em>Find Usages<\/em><\/a> popup or tool window.\n<\/li>\n<\/ul>\n<p>Please report any issues you encounter to our <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/WEB\" target=\"_blank\" rel=\"noopener\">issue tracker<\/a>, and stay tuned for next week\u2019s update!<\/p>\n<p><em>The WebStorm team<\/em><\/p>\n","protected":false},"author":989,"featured_media":86348,"comment_status":"closed","ping_status":"closed","template":"","categories":[826],"tags":[355,2812,91,6260],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/84915"}],"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=84915"}],"version-history":[{"count":3,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/84915\/revisions"}],"predecessor-version":[{"id":86369,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/webstorm\/84915\/revisions\/86369"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/86348"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=84915"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=84915"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=84915"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=84915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}