GoLand 2019.3 EAP 2 is Out!

Get it via the Toolbox App, download from the website, or use a snap package (for Ubuntu). Or, right in GoLand, select Automatically check updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.

Download GoLand 2019.3 EAP 2

You can also use nightly builds based on the latest development code almost every day, if you don’t want to wait for the official announcements of EAP builds. Note they are available via the Toolbox App only.

Code editing

For unused parameters, GoLand highlights its name and type if both can be removed, or only the name if the type is used for implementing a method specification.

In the latter case, the IDE now provides two quick-fixes for you to choose from: Delete parameter names or Rename to _. The same behavior is provided for functions that are used as a function type.

quick-fixes-for unused
Continue reading

Posted in EAP, New Features | Tagged , | Leave a comment

Shell Scripting with GoLand 2019.2

Go developers may rely at times on shell scripts to perform various tasks. In this post, we’ll have a look at the new builtin support for Shell scripting in GoLand 2019.2.

First, we need a new shell script file, let’s call it hello.sh.

As you have probably noticed already, the IDE will also prompt you to install a helper application. This is called ShellCheck, and it’s going to help you check your shell scripts against common issues and look for possible optimizations.

Continue reading

Posted in Features, New Features | Tagged , | Leave a comment

GoLand 2019.3 Opens its Early Access Program!

The first Early Access Program (EAP) build for GoLand 2019.3 is ready for you to try. You can get it via the Toolbox App, download from the website, or use a snap package (for Ubuntu). Or, right in GoLand, select Automatically check updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.


A month ago we published our roadmap for 2019.3. In it, we briefly outlined our primary goal for this release – fighting bugs, glitches, unexpected behavior, usability, and performance issues. However, it looks like we will add a few new things too.

Download GoLand 2019.3 EAP 1

If you’re new to GoLand and wondering about this Early Access Program business, here’s what it’s all about.
Continue reading

Posted in EAP, New Features | Tagged | 10 Comments

GoLand 2019.2.2 is Out!

The GoLand 2019.2.2 bug-fix update is out!

Download GoLand 2019.2.2

Update to it via the Toolbox App, go to 2019.2.1 and click Help | Check for Updates, or download a copy from our website.

Performance and UI

We’ve fixed several performance and usability issues:

GO-8031 — GoLand now shows the ‘implemented’ icon for a method much faster as it processes fewer elements during analysis.

GO-8034 — The UI doesn’t freeze anymore when clicking on the gutter icon for a type that implements the interface and has a lot of methods.

GO-7952Fill Fields is more helpful when you use existing variables as field values.


GO-8065, GO-8068Extract Interface respects existing declarations and doesn’t complain about unexported receiver’s type if it’s not used in the newly created interface.

GO-7982Change Signature takes care of the package prefix in tests.
Continue reading

Posted in Releases | Tagged , | 2 Comments

Increase productivity with Custom Postfix Completion templates

A while ago, we wrote an article about 14 different ways the IDE can assist you with code completion.

Out of those, Postfix Completion stands apart as it lets you continue to type after the identifier name and get suggestions for it, similar to the example below:

.Sort Postfix Copletion Template in action

As you can see, using the .sort completion option is much faster than you typing out the whole code snippet for sorting the slice yourself.

Before version 2019.2, however, you were forced to use the Postfix Completion items defined by the IDE. But all of that has now changed, and you can now create your own templates.

Why might this be useful, you ask?
First and foremost, it’s because now you don’t have to wait for a release cycle (at the very minimum) of the IDE to get your favorite completion snippet.
And second, it can be set up for you and save you time and effort specifically with your code.

Take the example in the above picture. It’s not hard to type the whole sort.Slice line, especially given the completion power of the IDE, but it’s a lot quicker to type commits.sort, which also feels natural as you type it.

Let’s look at an example of this in action using a task that might not be that frequent but still requires some typing: removing an element from a slice.

Open up Settings/Preferences | Editor | General | Postfix Completion. Here you’ll be able to view the existing templates and define new ones.

postfix completion - see list

To write our own postfix completion option, let’s use + | Go and then give the completion option a name, or Key as it’s defined in the dialog. This allows us to identify the way the snippet will appear in the completion options.
Continue reading

Posted in New Features | Tagged , | Leave a comment

Refactorings and Quick-fixes changes in 2019.2

Refactorings and quick-fixes are one of the areas that set IDEs apart from text editors. With them, you can quickly move parts of code around in a safe manner, rename identifiers or change function/method signature across large codebases, extract interfaces from existing types, and even extract/inline values.

As such, it should come as no surprise that we gave them a bit of a tweak in 2019.2, and made them even better.

Refactorings in 2019.2

Let’s start with the improved Extract Method refactoring.

Previously, it was not possible to use it with code that contained a return statement. Thanks to feedback from our users, we made some changes to this refactoring and now it’s possible to use it in more conditions.

Continue reading

Posted in New Features | Tagged , , | Leave a comment

2019.2 Features that Make Debugging Easier

GoLand 2019.2 brings with it a lot of new features and bug-fixes. In addition to making the debugger compatible with the new features in Go 1.13, we’ve added a few more things to help you debug code even more quickly and efficiently.

Function call support

Let’s start with one of the most highly anticipated and requested features: function call support.

With this new version, you can now call functions during a debugging session. This is made possible thanks to some experimental support in Delve, the underlying debugger used by the IDE, and experimental function call support in the Go runtime.

Continue reading

Posted in New Features | Tagged , | Leave a comment

GoLand 2019.2.1 is Out!

We have just released a new, fresher version of GoLand 2019.2 – the 2019.2.1 bug-fix update.

Try it via the Toolbox App, update from 2019.2 by clicking Help | Check for Updates, or just download a copy from our website.

Download GoLand 2019.2.1

This update addresses the following issues:

GO-6994, GO-7787 — GoLand now always optimizes imports after you apply the Move refactoring. The Refactoring Preview pane allows you to check if the generated file is going to be changed by optimizing or sorting, and to discard the change if anything goes wrong.

GO-7789 — A glitch affecting the Sync packages quick-fix has been fixed. Now it doesn’t highlight a dependency as an error after it’s downloaded in projects that use the Go Modules integration with the Vendoring mode enabled.

JBR-1624, JBR-1645 — Fixed the broken Fira Code fonts rendering.

GO-7593 — The Create field quick-fix doesn’t move lines with comments anymore.

GO-7741Code Completion inserts the correct type of brackets for structs.

GO-7752 — GoLand’s code formatter aligns type definitions in the right way.

GO-7808Code Completion is more precise.

GO-7852 — SQL injection works as expected.

GO-7824, GO-7871Change Signature doesn’t generate non-existing types, works well with replacing single result parameter, and adds default value in newly generated return.
Continue reading

Posted in Releases | Tagged , | Leave a comment

What’s next: GoLand 2019.3 roadmap

Three weeks ago we released GoLand 2019.2 with function calls support in the debugger, enhanced color schemes, customizable Postfix Completion templates, smarter Go Modules and dep integration, quick-fixes based on the Change Signature refactoring, and many other new code editing features. We also added support for Shell scripts and Kustomize for Kubernetes, as well as support for the new features of Go 1.13.

If you haven’t checked out these new features yet, visit our what’s new page for the detailed description, GIFs, and screenshots.

We would like to say THANK YOU to the people who help us further improve GoLand by sharing their product experience, feedback, and suggestions with us.

The most active evaluators are getting a free 1-year subscription for GoLand and a special edition of our branded T-shirt!

Meet these wonderful folks:

  • Roland Illig (YouTrack username: roland.illig)
  • Sergey Savenko (YouTrack username: deadok22)
  • Max Neverov (YouTrack username: nmax)
  • Denis Cheremisov (YouTrack username: sirkon)
  • Andrey Sokolov (YouTrack username: falconandy)
  • Gabriel Nelle (YouTrack username: nelle)
  • Mike Schinkel (YouTrack username: mikeschinkel)

GoLand 2019.3 Roadmap

Please note we don’t guarantee that all of the features below will be included in GoLand 2019.3.

Long story short, the GoLand 2019.3 update will be a little different from our previous releases. We realized that since GoLand’s first release, when it turned from a plugin for IntelliJ IDEA into an independent IDE, we’ve been adding more and more new features and extending the existing functionality in many different ways. Now it’s time to exhale and look around.

For this release period, our primary task is to fight bugs, glitches, unexpected behavior, and eliminate anything confusing. We believe that GoLand should bring you, our users, only pleasant experience and be your trustworthy helpmate in the Go world.

However, we couldn’t resist but add something new. Let’s have a look at our plans!
Continue reading

Posted in Roadmap | Tagged , | 3 Comments

Say Hello to GoLand 2019.2!

GoLand 2019.2 has enhanced its debugger in several ways: now it supports function calls during the debugging session, and displays the result of simple String(), Error(), and DebugString() method implementations in the Variables pane. In other big improvements, the Default & Darcula color schemes are polished, customizable Postfix Completion templates are available, and smarter Go Modules and dep integration are here too.


On top of that, we’ve added support for the new features introduced in Go 1.13, various quick-fixes based on the Change Signature refactoring, and many new code editing features. Support for Shell scripts and Kustomize for Kubernetes is available, and last but not least, the Extract Method refactoring can now handle code with return statements.

Download GoLand 2019.2

However, that’s not all we’ve added! Read on for highlights in this blog post, or go to the What’s New page to learn more about what we’ve done with screenshots and GIFs.

If you haven’t tried GoLand yet, this is a great moment to start your free 30-day trial to evaluate the new features – polished and hot off the press.
Continue reading

Posted in Releases | Tagged , | 6 Comments