GoLand 2024.1 introduces full line code completion, a new feature that autocompletes entirelines of code using locally-run, context-aware deep learning models. It helps improvecodingspeed and efficiency while working locally on your device without sending any data toexternal servers. The feature comes bundled for every user of GoLand 2024.1. It’s theperfect way to get a taste of the AI experience!Intrigued? Read more in our dedicated blogpost!
What’s New in GoLand 2024.1
GoLand 2024.1 comes with several significant additions:
Full line code completion has been implemented: locally-run, LLM-powered AI completion is
now available for free for every GoLand user.
There are significant performance improvements for indexing and highlighting.
We've polished AI Assistant and implemented upgrades for it, including additional options
for code completion and
documentation generation.
Support for dev containers is out of early access and brings some exciting new features in
this
iteration.
Support for Go 1.22 updates has been added.
The new version also comes with multiple UX and internal tooling enhancements. Let’s dive right
in!
Full line code completion
GoLand 2024.1 introduces full line code completion, a new feature that autocompletes entire
lines of code using locally-run, context-aware deep learning models. It helps improve
coding
speed and efficiency while working locally on your device without sending any data to
external servers. The feature comes bundled for every user of GoLand 2024.1. It’s the
perfect way to get a taste of the AI experience!
Intrigued? Read more in our dedicated blog
post!

You can control this feature and specify the languages you’d like to get full line
suggestions for in Settings | Editor | General | Code Completion
| Machine Learning-Assisted Completion.
Performance improvements

Improved indexing performance
Indexing is now significantly faster in GoLand. We observed speed gains of around 30% on
average. Real-world results will naturally vary for every user depending on the specifics of
their projects and hardware. Feel free to share your measured results with us! Here is an
illustration of indexing using the Gin framework.

More highlighting while indexing
With this enhancement, highlighting now works for references right from IDE start-up! Seeing
is believing, so we invite you to take a look at these two examples for yourself.
AI Assistant
JetBrains continues to work on AI Assistant to provide more valuable
features and actions. In this
release, GoLand brings two enhancements to our existing AI features. Try them out!

Cloud-based completion for structs and interfaces
In 2023.3, inline completion was introduced 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.

Documentation generation for structure fields and interface methods
GoLand now generates documentation for whole types, interface methods, and struct
fields. To generate documentation, place the caret anywhere in a field definition and select
the Write Documentation AI action. You can also start typing // before the
field’s
definition to trigger the suggestion.

Users can now customize prompts for certain AI actions, such as generating a commit message.
This allows for more personalized and tailored results.

Starting from version 2024.1, you can export a file containing code snippets generated by
the AI chat. You can also attach files to provide additional context when asking questions
in the chat.
Remote development
In 2024.1, the IDE provides an improved developer experience for remote scenarios:
highlighting,
rendering, and the overall smoothness of remote development is now close to the feel of
local programming. You can see for yourself how highlighting and completion are almost as
fast in the cloud as they are for local codebases.
What’s more, users can now manage remote projects directly from the IDE client, as well as
create new remote projects or open existing ones.

Dev containers

Now, users can run a dev container from the Welcome screen (from their local disk or
VCS). Previously, it was necessary to open the project first.

Dev containers now come with file templates for all popular programming languages.
Settings have been added that allow users to configure their JetBrains backend IDE (for
example GoLand or CLion) right in the file.
In GoLand version 2024.1, files will be recognized no matter
where in the
project they are stored. Previously, it was a requirement that they be stored in the
folder.
Support for Go 1.22 updates
While the Go language constantly evolves, we try to provide support for all the new
language features as quickly as possible.

Support for over integers and functions
Go 1.22 brings the ability to easily iterate over integers and functions in a way that is
more concise than using a classic loop.

Vendoring support for Go workspaces
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
directory containing the workspace’s dependencies. GoLand now supports this improvement.
Data flow analysis (DFA) update

Data flow analysis was introduced in GoLand 2023.3, and in 2024.1 the feature is now
polished enough to be turned on by default. GoLand’s DFA currently supports three
inspections: Constant conditions detection, Potential nil dereference, and Error
may be not
nil. Read more on these developments in our blog post.
Enhanced Terraform support
We've introduced significant improvements to our support for infrastructure-as-code development with
Terraform, aimed at
developers, site reliability engineers (SREs), and DevOps specialists. This update includes a series of
new features
and enhancements to simplify the process of creating, managing, and scaling your infrastructure.

Suggestion to run
To initialize the working directory with Terraform code files, we must first run . This is often overlooked, leading to error messages from Terraform itself, as
well as incomplete code autocompletion and only the partial display of documentation. To
avoid
this, the IDE now explicitly suggests running .

Support for third-party providers from the Terraform
Registry
The Terraform plugin now offers extended code completion capabilities for more than 3,900
third-party Terraform providers, making it easier for developers to write code efficiently.
Additionally, you'll find the latest documentation for each of these providers, along with
their specific versions, directly within the IDE.
This allows you to explore new Terraform providers and learn their capabilities faster – all
without leaving the IDE.

Terraform template language () support
We're excited to unveil support for Terraform’s template language (),
enhancing your
workflow with configuration files, scripts, or any program code, such as web server,
network, or service configurations. Templating just got easier! Now, you can dynamically
fill in values within your templates at runtime, streamlining the process of rendering
templates for specific uses.
Terraform’s template language not only supports variable templating
and control flow
elements, it also encompasses lists and maps, along with the ability to generate JSON and
YAML formats.

UX and other features

New terminal
GoLand 2024.1 comes with an overhauled terminal that incorporates both visual and functional
enhancements to make terminal-based tasks simpler and more convenient. It offers a
convenient history, easy navigation between blocks, and tips for every available command.
The new Terminal tool window seamlessly integrates with the new UI, aligning it with
the IDE’s refreshed look and feel and also providing a command completion feature, which
supports commands, paths, arguments, and options. For more details, see our dedicated blog post.

Option to scale down the entire IDE
GoLand 2024.1 brings the option to zoom out of the entire IDE. Initially, the scaling range
only included the option to zoom in to between 100% and 200%. In the current version, you
can also scale the IDE down to 90%, 80%, or 70%.

Sticky lines in the editor
To simplify working with large files and exploring new codebases, we’ve introduced sticky
lines in the editor. This feature keeps key structural elements, like the beginnings of
classes or methods, pinned to the top of the editor as you scroll. This way, scopes always
remain in view, and you can promptly navigate through the code by clicking on a pinned line.
VCS Updates

In-editor code review
Now, GoLand comes with a more streamlined and agile code review workflow for both GitHub and
GitLab users. Authors and reviewers can now seamlessly interact directly within the editor,
thanks to the implementation of the new review mode.
Learn more.

CI check statuses in the Git tool window
We’ve introduced a new column in the Log tab of the Git tool window, allowing
you to easily review the results of GitHub commit checks performed by your CI system. Simply
click on the tab to view the full details of the CI checks.

Visual indicators for pending GitHub updates
We’ve introduced visual indicators to hint about pending updates within your code review
workflow. When there are changes requiring your attention, a blue dot badge will appear on
the tool window’s icon. Additionally, unseen pull requests will be marked with a blue dot,
ensuring you don’t miss updates in your code review process.
Web and database enhancements
GoLand inherits updates from the WebStorm and DataGrip IDEs. Interested in updates
and features for web development or working with databases? Check them out!