{"id":90109,"date":"2020-10-29T18:48:35","date_gmt":"2020-10-29T18:48:35","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=go&#038;p=90109"},"modified":"2020-10-29T18:48:35","modified_gmt":"2020-10-29T18:48:35","slug":"goland-2020-3-eap-6","status":"publish","type":"go","link":"https:\/\/blog.jetbrains.com\/en\/go\/2020\/10\/29\/goland-2020-3-eap-6","title":{"rendered":"GoLand 2020.3 EAP #6 now includes updates SQL auto-injection support, MongoDB support via SQL queries, better Git workflows, improved web support and more"},"content":{"rendered":"<p>GoLand 2020.3 EAP build #6 is now available with a lot of enhancements! Please try them out and <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/Go\" target=\"_blank\" rel=\"noopener\">share your feedback<\/a> with us so we can make the 2020.3 release better for you.<\/p>\n<p>Before we jump to the details of this release, let me remind you that you don&#8217;t need to wait for the official EAP announcements, as we regularly release nightly builds based on the latest development code. These nightly builds are only available via the Toolbox App.<\/p>\n<p>You can get this EAP build through the <a href=\"https:\/\/www.jetbrains.com\/toolbox\/app\/\" target=\"_blank\" rel=\"noopener\">Toolbox App<\/a>, by downloading it from the <a href=\"https:\/\/www.jetbrains.com\/go\/nextversion\/\" target=\"_blank\" rel=\"noopener\">website<\/a>, or by using a snap package (for Ubuntu). Or update from right inside GoLand by selecting <i>Automatically check updates for Early Access Program<\/i> in <i>Preferences \/ Settings | Appearance &amp; Behavior | System Settings | Updates<\/i>.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/go\/nextversion\/\" target=\"_blank\" rel=\"noopener\"><i class=\"download-icon\"><\/i>Download GoLand 2020.3 EAP #6<\/a><\/p>\n<p><strong>Important! GoLand EAP builds are not fully tested and might be unstable.<\/strong><\/p>\n<p>Here are some of the highlights of GoLand 2020.2 EAP #6. For the full list of issues fixed in this update, see the <a href=\"https:\/\/confluence.jetbrains.com\/display\/WI\/GoLand+202.5792.46+Release+Notes\" target=\"_blank\" rel=\"noopener\">release notes<\/a>.<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/en\/go\/2020\/10\/29\/goland-2020-3-eap-6#basic-support-for-multiple-webpack-configs\">Basic support for multiple webpack configs<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/en\/go\/2020\/10\/29\/goland-2020-3-eap-6#support-for-git-staging-area\">Support for Git staging area<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/en\/go\/2020\/10\/29\/goland-2020-3-eap-6#improved-work-with-branches\">Improved work with branches<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/en\/go\/2020\/10\/29\/goland-2020-3-eap-6#unified-patches\">Unified patches<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/en\/go\/2020\/10\/29\/goland-2020-3-eap-6#multiple-files-per-template\">Multiple files per template<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/en\/go\/2020\/10\/29\/goland-2020-3-eap-6#flame-graph\">Profiler &#8211; Flame Graph<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/GoLand\/2020\/10\/GoLand-2020-3-eap-6\/#sql-auto-inject\">SQL auto-inject updates<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/en\/go\/2020\/10\/29\/goland-2020-3-eap-6#mongodb\">SQL for MongoDB<\/a><\/li>\n<\/ul>\n<h2 id=\"basic-support-for-multiple-webpack-configs\">Basic support for multiple webpack configs<\/h2>\n<p>In v2020.3, we&#8217;ve taken our first steps towards implementing support for multiple webpack configs. Now, GoLand will let you choose between detecting webpack configuration files manually or automatically. The new options can be found in <em>Preferences\/Settings | Languages &amp; Frameworks | JavaScript | Webpack<\/em>.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" alt=\"basic-support-for-multiple-webpack-configs\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/basic-support-for-multiple-webpack-configs.png\"\/><\/p>\n<p>The manual setup works the same as it did before and uses the file you specified in the settings. If you choose the automatic setup, GoLand will use module resolution rules from the webpack configuration file located in the same folder as the current file or any of its parent folders.<\/p>\n<h2 id=\"support-for-git-staging-area\">Support for Git staging area<\/h2>\n<p><strong>Note:<\/strong> This functionality is only available for the <a href=\"https:\/\/www.jetbrains.com\/help\/go\/go\/commit-and-push-changes.html#commit\" target=\"_blank\" rel=\"noopener\"><em>Commit<\/em> tool window<\/a>.<\/p>\n<p>With this update, we&#8217;ve introduced support for the Git staging area. To turn it on, tick the <em>Enable staging area<\/em> checkbox in <em>Preferences\/Settings | Version Control | Git<\/em>. Once you do, the support for changelists will be disabled.<\/p>\n<p>If you go back to the commit UI, you&#8217;ll see that it contains staged and unstaged files. When you&#8217;re ready to stage a file, simply click the <em>+ <\/em>icon next to it. The file will appear under the <em>Staged<\/em> node.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\"  alt=\"stage-unstage-file\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/stage-unstage-file.gif\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/stage-unstage-file.png\"\/><\/p>\n<p>You can also stage changes right from the gutter.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" alt=\"stage-changes-from-gutter\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/stage-changes-from-gutter.png\"\/><\/p>\n<p><em>Show Diff<\/em> is another way to add your changes to the staging area.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" alt=\"stage-file-from-show-diff\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/stage-file-from-show-diff.gif\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/stage-file-from-show-diff.png\"\/><\/p>\n<p>When you click <em>Commit<\/em>, all staged files will be committed.<\/p>\n<h2 id=\"improved-work-with-branches\">Improved work with branches<\/h2>\n<p>Several enhancements in this EAP touch upon branches. First, the IDE now automatically corrects unaccepted symbols in the names of new branches, help\/going you create branches in line with the accepted format.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" alt=\"branch-wrong-symbols-used-ws\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/branch-wrong-symbols-used-ws.gif\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/branch-wrong-symbols-used-ws.png\"\/><\/p>\n<p>Second, the IDE will now show you all the actions available for the currently selected branch, just like it would for other branches.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" alt=\"new-actions-for-current-branch-ws\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/new-actions-for-current-branch-ws.png\"\/><\/p>\n<p>Finally, for remote branches, we&#8217;ve renamed the <em>Merge into Current <\/em>and <em>Rebase Current onto Selected<\/em> actions to <em>Pull into Current Using Merge<\/em> and <em>Pull into Current Using Rebase<\/em>, respectively.<\/p>\n<h2 id=\"unified-patches\">Unified patches<\/h2>\n<p>In the past, the <a href=\"https:\/\/www.jetbrains.com\/help\/go\/using-patches.html\" target=\"_blank\" rel=\"noopener\">patch<\/a> format has varied depending on the VCS that was used. We&#8217;ve received feedback that this was inconvenient and slowed work down. In light of these concerns, we&#8217;ve changed the default format for patches. They are now all created in the Git format. <\/p>\n<h2 id=\"multiple-files-per-template\">Multiple files per template<\/h2>\n<p>It is now possible to configure a custom template that creates several files at a time. To do so, go to <em>Preferences \/ <\/em><em>Settings | Editor | File and Code Templates, <\/em>click<em> +<\/em> to create a new template, and then click the <em>Create Child Template File<\/em> icon next to the +. <\/p>\n<p>You will see a new node appear under the parent file.<\/p>\n<p>In the <em>File name<\/em> field you can specify a pattern to generate a file name and a path using predefined variables that are listed in the <em>Description<\/em> section. <\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" alt=\"Configure multiple files templates\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/MultipleTemplates.gif\" \/><\/p>\n<p>You can now use your customized template. Let&#8217;s see how the files are generated. <\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" alt=\"Result when creating multiple file templates\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/MultipleTemplates_Result.gif\" \/><\/p>\n<h2 id=\"flame-graph\"><strong>Profiler &#8211; Flame Graph<\/strong> <\/h2>\n<p>When you profile your application, you usually get a lot of data. We&#8217;ve improved the search mechanism of the <em>Flame Graph<\/em> and its visualization so you can quickly get the method metrics. You can click on the magnifying glass icon or type your search request inside the <em>Flame Graph<\/em> panel. <\/p>\n<p>In v2020.3, we&#8217;ve added the search field, up\/down arrows for fast navigation between search results, and the ability to search either in the whole <em>Flame Graph<\/em> or just in a specific subtree. <\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/profiler-optimized.png\" alt=\"Better Flame Graph searching\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/profiler-optimized.gif\" \/><\/p>\n<h2 id=\"sql-auto-inject\">SQL auto-inject updates<\/h2>\n<p>From this release, the latest versions of the following packages are supported in the SQL detection support of the IDE:<\/p>\n<ul>\n<li><code>database\/sql<\/code><\/li>\n<li><code>github.com\/jmoiron\/sqlx<\/code><\/li>\n<li><code>github.com\/gobuffalo\/pop<\/code><\/li>\n<\/ul>\n<h2 id=\"mongodb\">SQL for MongoDB<\/h2>\n<p><strong>TL;DR <\/strong>\u2013 You can now use SQL to query MongoDB databases.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/MongDBSQLGeneral.png\" \/><\/p>\n<p>Only <em>SELECT<\/em> queries work.<\/p>\n<p>Working \u0441lauses: <em>JOIN, <\/em><em>WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET.<\/em><\/p>\n<h3>SELECT<\/h3>\n<ul>\n<li>Options you can use: <em>DISTINCT, ALL.<\/em><\/li>\n<li>You can use aggregate functions:<em> AVG, SUM, MIN, MAX,<\/em> and others.<\/li>\n<li>Columns can be qualified.<\/li>\n<\/ul>\n<p><em>Restrictions<\/em><\/p>\n<ul>\n<li><em>COUNT<\/em> (<em>expression<\/em>) is not yet supported.<\/li>\n<li>You can&#8217;t use aggregate functions, such as <em>AVG, SUM, MIN, <\/em>and<em> MAX,<\/em> as if they were not aggregate. For example,<em> SELECT MAX(1,2,3) <\/em>won&#8217;t work.<\/li>\n<\/ul>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-55173 size-full\" style=\"border: 1px solid #AAAAAA;\" width=\"750\" height=\"422\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/10\/MongDBSQLAvg.png\" \/><\/p>\n<p>For more details about this, head over to <a href=\"https:\/\/blog.jetbrains.com\/en\/datagrip\/2020\/10\/22\/datagrip-2020-3-eap-3-sql-for-mongodb\">our full coverage blog post on DataGrip&#8217;s blog<\/a>.<\/p>\n<p>That&#8217;s it for the biggest highlights. This build also comes with some smaller, but still important changes such as:<\/p>\n<ul>\n<li>\nGoLand now comes bundled with TypeScript 4.0.\n<\/li>\n<li>\nWe&#8217;ve fixed several issues with the links in the output of tools not being clickable (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-22867\" target=\"_blank\" rel=\"noopener\">WEB-22867<\/a>, <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-37265\" target=\"_blank\" rel=\"noopener\">WEB-37265<\/a>, <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-47897\" target=\"_blank\" rel=\"noopener\">WEB-47897<\/a>, <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-44742\" target=\"_blank\" rel=\"noopener\">WEB-44742<\/a>, and <a href=\"https:\/\/youtrack.jetbrains.com\/issue\/WEB-46790\" target=\"_blank\" rel=\"noopener\">WEB-46790<\/a>).\n<\/li>\n<li>\nWe&#8217;ve removed the <em>React JSX<\/em> option from <em>Preferences\/Settings | Languages and Frameworks | JavaScript<\/em>. If you&#8217;re using the JSX syntax in your JavaScript code, the language version will be set to <em>ECMAScript 6+<\/em>. If you want to be warned when the JSX syntax is used by mistake, you can turn the <em>React JSX syntax<\/em> inspection on in <em>Preferences\/Settings | Editor | Inspections<\/em>.\n<\/li>\n<\/ul>\n<p>That&#8217;s it for today! We are looking forward to your feedback in the comments section below, on our <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/Go\" target=\"_blank\" rel=\"noopener\">issue tracker<\/a>, or <a href=\"https:\/\/twitter.com\/GoLandIDE\" target=\"_blank\" rel=\"noopener\">@GoLandIDE<\/a>.<\/p>\n","protected":false},"author":828,"featured_media":90324,"comment_status":"closed","ping_status":"closed","template":"","categories":[826,4221],"tags":[6245,91],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/go\/90109"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/go"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/go"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/828"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=90109"}],"version-history":[{"count":3,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/go\/90109\/revisions"}],"predecessor-version":[{"id":90317,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/go\/90109\/revisions\/90317"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/90324"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=90109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=90109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=90109"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=90109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}