What’s New in GoLand 2024.2

GoLand 2024.2 comes with new IDE functionality and support for new Go features, including:

  • The new Add method to interface and all its implementations refactoring
  • Performance improvements
  • Many fixes for remote development and dev containers
  • Better support for Go frameworks and Go language features
  • The new UI as the default
  • Setting transfer from VS Code

The new version also comes with multiple UX and AI improvements. Let’s dive right in!

Download

Add method to interface and all its implementations refactoring

GoLand 2024.2 introduces the highly anticipated Add method to interface and all its implementations refactoring! This quick-fix allows you to add a new method to an interface and all its implementations in one action.

Performance improvements

Improved project scanning performance

We optimized the scanning of the GO MOD CACHE directory, resulting in faster project opening times.

More features outside of smart mode

The Run action can now be triggered from the Run configurations menu when smart mode is not enabled, and gutter icons for executing code are available as well. This means you can now run tests and programs before indexing is complete.

Go language and ecosystem

URL-related features for Gin, Gorilla, and chi

The full set of URL-related features – including Show all endpoints of module, Generate requests, and Go to – is now available for the most popular web frameworks.

Reverse type inference support

GoLand now fully supports reverse type inference, and we‘ve added reverse type inference to the Type Info action.

Show inferred types

GoLand now makes it easier to read complicated code samples. It displays instantiated types in the quick documentation pop-up for call expressions.

Replace 'if' with 'switch'

We are always working to help you write better code.

One way we’ve tried to achieve this in this release is the new Replace ‘if’ with ‘switch’ intention action, which helps make your code significantly easier to read, change, and maintain.

Fixes for generic false positives

GoLand 2024.2 improves support for generics by reducing problem detection false positives.

Improvements for dev containers

The new implementation of dev containers offers a smoother user experience that feels almost like local development. Furthermore, containers and volumes now persist even if the container’s startup process is interrupted.

The creation and management of dev containers have been moved to the Services tool window. All of these changes make working with containers much more transparent and natural.

Remote development

In GoLand 2024.2, we’ve focused on fixing various issues and bugs that could negatively impact working with remote environments. We’ve also fixed many usability issues for working with WSL.

Terraform support improvements

We’ve significantly extended coding assistance capabilities for the Terraform plugin.

Full line code completion for Terraform

Full line code completion is now available for Terraform development. Powered by local large language models (LLMs), this functionality predicts entire lines of code, boosting your productivity.

Documentation tooltips

Documentation tooltips now appear when you hover over elements in your Terraform code.

Code insight for Terraform

The in-editor language support for Terraform now provides code insight features such as context-aware code completion, refined syntax highlighting, and enhanced error detection with quick-fix suggestions. Additionally, autocompletion and syntax highlighting for Terraform now work even before indexing is complete, allowing you to start coding more quickly.

UI/UX improvements

Setting transfer from VS Code

You can now migrate your settings from VS Code to GoLand. When you launch the IDE for the first time, you’ll see the Import Settings dialog with a list of settings from other IDEs found on your machine.

After making your selections and clicking Import Settings, your settings from VS Code will be successfully migrated.

Easier access to debugging in Docker

GoLand now includes the Delve debugger compiled against the musl library for Alpine images, ensuring compatibility with Docker run targets.

This fixes the No such file or directory error that was caused by missing Alpine image libraries.

New UI enabled by default

The new UI is clean and modern, providing bigger, easier-to-use controls, a consistent color palette, light and legible icons, increased contrast, and better accents. It is now enabled as the default option for all GoLand users.

The classic UI is available as a plugin on JetBrains Marketplace. Starting with GoLand 2024.2, you will see a popup with a link to the plugin, or you can get it in Settings | Plugins.

Preview option for Search Everywhere

The Search Everywhere dialog now includes an option to preview the codebase elements you’re searching for. Enabling this feature through the Preview icon on the dialog’s toolbar will cause a preview pane to appear under the search results, offering additional context and making it easier to navigate through your project.

Improved Customize Main Toolbar dialog

We’ve redesigned the layout and behavior of the UI elements in the Customize Main Toolbar dialog, making it more intuitive and organized. It’s now easier to search for, add, and delete actions in the main toolbar.

Improved commit graph in the Log tab

To give you a clearer view of your project’s history, we revamped the commit graph in the Log tab of the Git tool window, refining the color coding and layout of branch lines. Important branch lines now remain on the left-hand side of the graph and retain their designated colors, making them easier to identify and follow.

New Local History dialog

We’ve modernized the UI of the Local History dialog. Additionally, when accessed for a directory, the dialog now features a diff view next to the list of changes, making them easier to understand.

Updated window controls on Linux

On Linux, GoLand used to place window controls on the right-hand side of the IDE, whereas in this release, the placement of the controls is automatically adjusted to match the window control settings specified in your Linux desktop configuration. This small but important change allows you to maintain a layout that suits your personal preferences.

Other improvements

GOPROXY for China

GoLand 2024.2 simplifies setup for users in mainland China. We’ve automated GOPROXY preselection for this region, reducing the steps required for configuration. If you use custom proxies, you can disable this automatic switching in Settings | Advanced Settings.

Bundled localization packages for Chinese, Korean, and Japanese

Go developers around the world would naturally benefit from using the IDE in their native language.

To improve the IDE experience for native speakers of Chinese, Korean, and Japanese, we’ve now bundled the support for these languages.

Bundled Kubernetes plugin

Due to its popularity in GoLand, we decided to bundle the Kubernetes plugin starting from version 2024.2.

Now, all you need to do is open GoLand and start managing your clusters directly within the IDE!

GoLand inherits updates from the WebStorm and IntelliJ IDEA IDEs. Check them out!