Early Access Program

GoLand 2022.2 Early Access Program Is Now Open!

We’re starting our Early Access Program for the 2022.2 release. If you want to learn what we have planned for v2022.2, check out our roadmap.

You can get this EAP build via the Toolbox App, download it from our website, use a snap package (for Ubuntu), or from inside GoLand, select Check IDE updates for: Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.

Download GoLand 2022.2 EAP

If you’re not familiar with our EAPs, here’s a brief overview:

EAP builds let you try out the latest features and enhancements in GoLand while we continue to work on them. These builds are not fully tested and might be unstable, but this is where you can help us. By taking these builds and their new features for a test drive with your real-world projects and scenarios, you can help us polish them. This way, when the final version is released, it will work smoothly for you.

  • The EAP lets you be the first to try out the newest features.
  • EAP builds are free to use for 30 days from the build date. You can use this period as an extended trial of GoLand.
  • We provide a series of EAP builds until a stable release is almost ready. For the upcoming version 2022.2, the EAP period will last until the end of June.
  • In each release cycle, we reward the most active evaluators and people who have helped us make GoLand better by sharing their product experience, feedback, and suggestions with a free 1-year GoLand subscription.
  • Fresh builds come out almost every day. If you don’t want to wait for the official EAP build announcements, you can download our nightly builds, which are only available via the Toolbox App. Note that the nightly builds often do not meet the quality standards for official EAP builds, and they don’t come with release notes. Like EAP builds, they expire within 30 days of being released.

Here’s what we have for you in this build.

Support for the go:linkname directive

The go:linkname compiler directive is now supported. The Missing function body false-positive error has been fixed.

Support for the unix build constraint

GoLand now supports the new unix build tag that matches any Unix or Unix-like system.

Generics

We’re continuing our work on type parameters support in GoLand. We’ve fixed more than 270 generics-related issues so far. We’ve also added several new inspections in the 2022.1.1 update. GoLand now reports the following:

  • Usage of a generic type without instantiation.
  • Mismatches between arguments and parameters.
  • Usage of a given type as a type parameter.
  • Type conversion to a generic type that is missing the expression to be converted.

These inspections are available in this EAP build as well. If you missed the blog post, check it out!

Quick documentation

We’ve added a couple of new documentation-related features that will be especially helpful if you’re new to the language.

Tooltips for Go keywords

For each of the 25 Go keywords, GoLand now displays a meaningful keyword tooltip outlining the semantics of the relevant keyword. Tooltips contain links to the specification and other relevant resources.

Documentation for channel types

We now display channel direction information. This data is shown in tooltips in three places: when you hover over the chan keyword (here you will also see the general information about the keyword itself), on channel send and receive operations, and on all references to channel types.

User interface

The Merge All Project Windows action on macOS

For macOS users, we’ve introduced the ability to merge all opened project windows by turning them into tabs within a single window. To do this, go to Window | Merge All Project Windows.

Font size indicator on zooming

When you zoom your code in or out within the editor, you can now see an indicator that shows the current font size and the option to revert it back to default.

To be able to zoom in with your mouse, go to Preferences / Settings | Editor | General and tick the Change font size with Command(Ctrl)+Mouse wheel in: checkbox. Choose where you want this functionality to work: Active editor or All editors. You can also open the General settings window by clicking on the wrench icon that appears on the new indicator bar.

New Description field for mnemonic bookmarks

In GoLand, you can create bookmarks with numbers (0 to 9) or letters (A to Z). These are called mnemonic bookmarks. When you mark a file or line with a mnemonic bookmark, the corresponding letter or number will appear next to the file or line with a box around it.

We’ve integrated a Description field into the Add Mnemonic Bookmark dialog so that you can add an optional description to your bookmark. To add a mnemonic bookmark, right-click the gutter next to the line you want to bookmark and choose the corresponding option from the context menu. Or you can use the shortcut ⌥ F3 (Ctrl+F11).

Cloning repository progress bar

We’ve updated the way the Cloning repository progress appears on the IDE’s Welcome screen. It used to be a separate window. Now the progress bar is shown right in the Projects list.

Editor

New setting to disable automatic block comment closure

You can now disable automatic block comment closure when pressing the Enter key. To do so, go to Settings / Preferences | Editor | Smart Keys and uncheck the Close block comment checkbox in the Enter section.

Faster access to Сode Сompletion settings

You can now access Code Completion settings from the vertical ellipsis menu button in the code completion pop-up. The Code Completion settings are located in Preferences / Settings | Editor | General.

JBR17: Performance improvement and better security

With the 2022.2 EAP, we are moving from JetBrains Runtime 11 (JBR11) to JetBrains Runtime 17 (JBR17). Starting with this build, all 2022.2 updates will come with JBR17. This will have the following effects:

  • A significant performance improvement allowing faster and smoother IDE operations.
  • Better security, as JBR17 is based on the latest OpenJDK LTS.
  • Better rendering performance on macOS, as JetBrains Runtime 17 leverages Metal API.
  • Increased accessibility on macOS, as JBR17 features integration with VoiceOver screen reader.

That’s it for today. We would love to hear what you think about our new features. Get in touch with us on Twitter, leave your comments here, open an issue in our tracker, or drop us a message in the Gophers Slack #goland channel. Thanks!

image description