GoLand 2024.1 comes with several significant additions:
The new version also comes with multiple UX and internal tooling enhancements. Let’s dive right in!
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.
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.
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.
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.
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.
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.
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 devcontainer.json
file.
In GoLand version 2024.1, devcontainer.json
files will be recognized no matter
where in the
project they are stored. Previously, it was a requirement that they be stored in the
~/.devcontainer
folder.
range
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 for
loop.
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’s dependencies. GoLand now supports this improvement.
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.
terraform init
To initialize the working directory with Terraform code files, we must first run terraform
init
. 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 terraform init
.
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.
tftpl
) support
We're excited to unveil support for Terraform’s template language (tftpl
),
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.
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.
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%.
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.
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.
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.
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.