{"id":453953,"date":"2024-03-08T16:07:36","date_gmt":"2024-03-08T15:07:36","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=go&#038;p=453953"},"modified":"2024-03-11T11:03:29","modified_gmt":"2024-03-11T10:03:29","slug":"goland-2024-1-beta-is-out","status":"publish","type":"go","link":"https:\/\/blog.jetbrains.com\/zh-hans\/go\/2024\/03\/08\/goland-2024-1-beta-is-out","title":{"rendered":"Goland 2024.1 Beta Is Out!"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"2560\" height=\"1440\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/go-release-social_share_blog_1280x720.png\" alt=\"\" class=\"wp-image-453954\"\/><\/figure>\n\n\n\n<p>Get the Beta build via the <a href=\"https:\/\/www.jetbrains.com\/toolbox\/app\/?_gl=1*af3dko*_ga*NTExMjM0MDExLjE2OTgzMTE0MzU.*_ga_9J976DJZ68*MTY5OTYxNjU5Ni43NC4xLjE2OTk2MTkyNDUuNTcuMC4w&amp;_ga=2.111619076.1404756499.1699263915-511234011.1698311435&amp;_gac=1.127450879.1699609333.Cj0KCQiAo7KqBhDhARIsAKhZ4uhow2ahdziuAOr9_o7msqFs_Fw1wbudhCeQSRS1ABFh37QhrSq8ersaAkfeEALw_wcB\" target=\"_blank\" rel=\"noopener\">Toolbox App<\/a>, from our <a href=\"https:\/\/www.jetbrains.com\/go\/nextversion\/?_gl=1*af3dko*_ga*NTExMjM0MDExLjE2OTgzMTE0MzU.*_ga_9J976DJZ68*MTY5OTYxNjU5Ni43NC4xLjE2OTk2MTkyNDUuNTcuMC4w&amp;_ga=2.111619076.1404756499.1699263915-511234011.1698311435&amp;_gac=1.127450879.1699609333.Cj0KCQiAo7KqBhDhARIsAKhZ4uhow2ahdziuAOr9_o7msqFs_Fw1wbudhCeQSRS1ABFh37QhrSq8ersaAkfeEALw_wcB\" target=\"_blank\" rel=\"noopener\">website<\/a>, by using a snap package (for Ubuntu), or right from inside GoLand by selecting <em>Check IDE updates for: Early Access Program<\/em> in<em> Settings | Appearance &amp; Behavior | System Settings | Updates<\/em>.<\/p>\n\n\n\n<p align=\"center\">\n    <a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/go\/nextversion\/\" target=\"_blank\" rel=\"noopener\">      \n        Download GoLand 2024.1 Beta\n    <\/a>\n<\/p>\n\n\n\n<p>The Beta version includes all of the new features and improvements from our current EAP cycle that are expected to appear in the upcoming 2024.1 release. In this post, we will focus on the most anticipated enhancements.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>AI features<\/strong>&nbsp;&nbsp;<\/h2>\n\n\n\n<p><strong>Full line completion<\/strong><\/p>\n\n\n\n<p>GoLand 2024.1 comes with a new AI-powered completion feature that analyzes your project and suggests entire lines of code using a powerful deep learning model. It helps improve coding efficiency and is absolutely secure, working locally on your device without sending any data to external servers.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1018\" height=\"392\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/flc-demo.gif\" alt=\"\" class=\"wp-image-453971\"\/><\/figure>\n\n\n\n<p>You can control this feature and specify the languages you\u2019d like to get full line suggestions for in <em>Settings | Editor | General | Code Completion | Machine Learning-Assisted Completion<\/em>.<\/p>\n\n\n\n<p><strong>Cloud-based completion for structs and interfaces<\/strong><\/p>\n\n\n\n<p>In 2023.3, inline completion was introduced only for function and method blocks. In 2024.1, it will also be enabled for structure and interface declarations. When code completion offers a suggestion inside a type declaration, it takes the context of the usage into account along with the parent structure and references. This improves the relevance of AI-based suggestions.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" loading=\"lazy\" width=\"1216\" height=\"744\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/Inline-Completion-Struct.gif\" alt=\"\" class=\"wp-image-453982\" style=\"aspect-ratio:1.6344086021505377;width:840px;height:auto\"\/><\/figure>\n\n\n\n<p><strong>Documentation generation for fields<\/strong><\/p>\n\n\n\n<p>GoLand now generates documentation for both whole types and fields where the caret is placed.&nbsp;To generate documentation, place the caret anywhere in a field definition and use the <em>Write Documentation<\/em> AI action. You can also start typing <code>\/\/<\/code> before the field\u2019s definition. Try it out!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1200\" height=\"771\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/Write-Documentation-Field.gif\" alt=\"\" class=\"wp-image-453993\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Support for Go 1.22<\/strong><\/h2>\n\n\n\n<p><strong>Support for <code>range<\/code> for integers and functions<\/strong> <\/p>\n\n\n\n<p>Go 1.22 brings the ability to easily <a href=\"https:\/\/tip.golang.org\/doc\/go1.22#language\" target=\"_blank\" rel=\"noopener\">iterate over integers and functions<\/a> in a way that is more concise than using a classic <code>for<\/code> loop.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1286\" height=\"568\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/range-over-int.png\" alt=\"\" class=\"wp-image-454004\"\/><\/figure>\n\n\n\n<p><strong>Vendoring support for Go workspaces<\/strong><\/p>\n\n\n\n<p>Vendoring gives you more control over the dependencies used in your project by allowing you to store them in the project repository. In Go 1.22, commands in workspaces can use a vendor directory containing the workspace\u2019s dependencies. GoLand now supports this improvement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Performance improvements<\/strong><\/h2>\n\n\n\n<p><strong>Improved indexing performance.<\/strong> Indexing is now ~30% faster. The final results will vary for every user depending on the specifics of their projects and hardware.&nbsp;Here is an example indexing Gin framework:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1319\" height=\"195\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/index-perf-after-loop.gif\" alt=\"\" class=\"wp-image-456035\"\/><\/figure>\n\n\n\n<p><strong>More highlighting while indexing<\/strong><\/p>\n\n\n\n<p>With this enhancement, highlighting now works for references as soon as the IDE starts up! Seeing is believing, so we invite you to take a look at these two examples.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1131\" height=\"292\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/highlighting-loop.gif\" alt=\"\" class=\"wp-image-456046\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>UX and technologies support<\/strong><\/h2>\n\n\n\n<p><strong>Data flow analysis update<\/strong><\/p>\n\n\n\n<p>Data flow analysis was introduced in GoLand 2023.3, and in 2024.1 Beta the feature is now polished enough to be turned on by default. GoLand\u2019s DFA currently supports three inspections: <em>Constant conditions detection<\/em>, <em>Potential nil dereference<\/em>, and <em>Error may be not nil\ufeff. <\/em>A blog post dedicated to this feature will be published in March 2024, so stay tuned!<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"246\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/image-17.png\" alt=\"\" class=\"wp-image-455002\"\/><\/figure>\n\n\n\n<p><a href=\"https:\/\/blog.jetbrains.com\/idea\/2024\/01\/intellij-idea-2024-1-eap-2\/\"><strong>New terminal<\/strong><\/a><\/p>\n\n\n\n<p>GoLand 2024.1 Beta comes with an overhauled<em> <\/em>terminal that incorporates both visual and functional enhancements to make terminal-based tasks simpler and more convenient. It offers a convenient history and easy navigation between blocks, command completion, and tips for every available command.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"492\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/image-18.png\" alt=\"\" class=\"wp-image-455013\"\/><\/figure>\n\n\n\n<p>The new <em>Terminal<\/em> tool window seamlessly integrates with the new UI, aligning it with the IDE\u2019s refreshed look-and-feel, and it comes complete with a new color scheme that enhances readability.&nbsp;<\/p>\n\n\n\n<p>Another significant change is the command completion feature, which supports commands, paths, arguments, and options.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"672\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/image-19.png\" alt=\"\" class=\"wp-image-455024\"\/><\/figure>\n\n\n\n<p>You can switch between the old and new terminal in <em>Settings | Tools | Terminal | Enable New Terminal<\/em>. This feature is currently in the early access stage. You can find further details in this <a href=\"https:\/\/blog.jetbrains.com\/idea\/2024\/02\/the-new-terminal-beta-is-now-in-jetbrains-ides\/\">dedicated blog post<\/a>.<\/p>\n\n\n\n<p><strong>Option to scale down the entire IDE<\/strong><\/p>\n\n\n\n<p>GoLand 2024.1 Beta brings the option to zoom out of the entire IDE. Initially the scaling range only included options between 100% and 200%. In GoLand 2024.1 Beta, you can also scale the IDE down to 90%, 80%, or 70%.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" width=\"800\" height=\"384\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/image-7.gif\" alt=\"\" class=\"wp-image-454991\"\/><\/figure>\n\n\n\n<p><strong>Updated product icons<\/strong><\/p>\n\n\n\n<p>The new version of GoLand will introduce new product icons that align with updates across all JetBrains IDEs, enhancing visual appeal and consistency across the ecosystem. Let us know what you think!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1500\" height=\"600\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/03\/GoLand_1500x600.png\" alt=\"New GoLand 2024.1 icons\" class=\"wp-image-454075\" style=\"object-fit:cover\"\/><\/figure>\n\n\n\n<p>That\u2019s it for today!<br><br>We need your feedback to make the new features even better. Share your thoughts on <a href=\"https:\/\/twitter.com\/GoLandIDE\" target=\"_blank\" rel=\"noopener\">X<\/a> (formerly Twitter), leave your comments below, open an issue in <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/GO?_gl=1*unwi42*_ga*NTExMjM0MDExLjE2OTgzMTE0MzU.*_ga_9J976DJZ68*MTY5OTYxNjU5Ni43NC4xLjE2OTk2MTc3NTAuMjQuMC4w&amp;_ga=2.119547016.1404756499.1699263915-511234011.1698311435&amp;_gac=1.190142809.1699609333.Cj0KCQiAo7KqBhDhARIsAKhZ4uhow2ahdziuAOr9_o7msqFs_Fw1wbudhCeQSRS1ABFh37QhrSq8ersaAkfeEALw_wcB\" target=\"_blank\" rel=\"noopener\">our tracker<\/a>, or drop us a message in the <a href=\"https:\/\/invite.slack.golangbridge.org\/\" target=\"_blank\" rel=\"noopener\">#goland-gophers<\/a> Slack channel.&nbsp;<\/p>\n\n\n\n<p>Happy developing!<\/p>\n","protected":false},"author":1455,"featured_media":454311,"comment_status":"closed","ping_status":"closed","template":"","categories":[],"tags":[779,5699],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/go\/453953"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/go"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/types\/go"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/users\/1455"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=453953"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/go\/453953\/revisions"}],"predecessor-version":[{"id":456057,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/go\/453953\/revisions\/456057"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/454311"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=453953"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=453953"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=453953"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=453953"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}