GoLand 2020.2 Early Access Program Is Open!

GoLand 2020.2 EAP starts today! We are aiming to pack this release with initial support for Go 1.15, polished and expanded Go Modules support, new code editing features, and much more. You can find a detailed description of what’s to come in the roadmap blog post for 2020.2.


Get the first EAP build via the Toolbox App, download from our 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 2020.2 EAP #1

In case you’re not familiar, here’s a quick explanation of what the Early Access Program is:

EAP builds let you try out the latest features and enhancements in GoLand that are still works in progress. 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 in your real-world projects and scenarios, you can help us polish them. This way, when the final release is ready, it will work smoothly for you.

  • The EAP lets you be first to try out all 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 EAP builds until a stable release is almost ready. For the upcoming version 2020.2, the EAP period will last roughly to the end of mid-July.
  • In each release cycle, we reward the most active evaluators with a free 1-year GoLand subscription and an exclusive GoLand T-shirt.
  • Fresh builds come out almost every day. So if you don’t want to wait for the official EAP build announcements, you can simply download one of our nightly builds, which are only available via the Toolbox App. Note that the quality of nightly builds is usually below our standards for official EAP builds, and they don’t come with release notes. Like EAP builds, they also expire within 30 days of being released.

Let’s take a look at what we’ve packed inside this first EAP build.
Continue reading

Posted in EAP, New Features | Tagged , , | 1 Comment

Working Windows Subsystem for Linux (WSL) in GoLand

Windows Subsystem for Linux, or WSL as it’s commonly known, allows Windows 10 to run Linux inside Windows. We are going to have a look at WSL 1 since, as of the publishing of this article, WSL 2 is not officially released yet.

After installing WSL 1, and enabling your preferred Linux distribution on it, you can set up Go as you would on a normal Linux installation. You should also install Go for Windows since the IDE will still run on the Windows side of things.

With these two Go installations in place, some additional configuration is needed. Make sure to point the GOPATH both in Windows and Linux to the same directory. This will allow us to have the project/dependencies in a single place.

Continue reading

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

Get More from GoLand: Tips and Tricks Webinar

What do you need to know about to master GoLand and become more effective? Does it have any unique configurations that can be used? What are the secrets to using the keyboard to maximize your efficiency? How can you avoid writing boilerplate code and navigate through your project faster?

You’ll find the answers to all these questions in our webinar GoLand IDE: Tips and Tricks on June 4, 16:00 (CEST)!

DSGN-9317 GoLand IDE Tips and Tricks by Florin Pățan_1600x800_blog

Learn how to get more from GoLand and use it more effectively to stay in the flow as long as possible. We’ll take you beyond the Save shortcut and focus on how to perform complex refactoring tasks with ease. Run your code, debug it, profile it, generate tests, and use databases and version control – all from the IDE.

Whether you are a beginner or professional, this session will be useful to you. It is filled with tips and tricks that you can immediately start putting into action to get more from GoLand.


There will also be a Q&A session at the end of the webinar to address any questions you may have. The authors of three most interesting questions will get a free 1-year subscription to GoLand!

The webinar will be held by Florin Pățan, a Developer Advocate at JetBrains for GoLand and the author of many articles in our blog. Florin has been a gopher for a few years, has built many high-performance distributed projects, and now helps other gophers worldwide.

Interested? Register today!

Finally, don’t forget to subscribe to our Community Newsletter to keep updated about future webinars.

Posted in Webinars | Tagged | Leave a comment

Video Recording and Q&A of Build a Microservice in Go with GoLand in an Hour webinar

Last week we hosted our first webinar, with the theme of Go Microservices development in GoLand. It was great to see so many people attending, asking questions, and giving us their feedback. To that end, I’d like to say a big thank you to everyone who participated, as well as to our JetBrains team that made this all possible.

During the webinar, we promised to reply to as many questions as we can, and that’s what we’re doing in today’s blog post.

Here’s a quick recap of the presentation:

  • We used a basic “Hello World” application using net/http as a base project.
  • We then deployed a database in a Kubernetes cluster.
  • We linked the IDE to the database, allowing us to index the database structure and provide code assistance later.
  • We modified the application to connect to the database.
  • We deployed the application to the Kubernetes cluster and debugged it.
  • We refactored the application to make it easier to test and organize the source code.
  • We used code generation to create tests for our application and prevent bugs in the future.
  • Q&A.

If you missed the webinar, don’t worry, you can find a recording of it here:

The source code created during the presentation can be found here: https://github.com/dlsniper/go-microservice-webinar

From the questions we received, we picked three respondents to receive a free license. We’ll be sending those out to the lucky winners shortly.
Continue reading

Posted in Webinars | Tagged , , , , , , | 9 Comments

Using Kubernetes from GoLand

This is the last part of our series on running a Go service using Docker, Docker Compose, or Kubernetes. In this part, we’ll focus exclusively on running and debugging when using Kubernetes clusters.

While we won’t cover how to install and configure a Kubernetes cluster, a variety of tools, such as kubeadm, minikube, and microk8s, can all be used to achieve this. If you are on Windows, then Docker Desktop for Windows comes with built-in Kubernetes support. If you instead plan to use a platform that is based on ARM chips, like the Raspberry Pi 4, then you can use something like k3s to get started.

Before we start, the Kubernetes plugin should also be installed, as it is not bundled with the IDE. You can install it by going to Settings/Preferences | Plugins | Marketplace and searching for Kubernetes.

Continue reading

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

Running Go applications using Docker Compose in GoLand

Today we’ll be continuing our series on how to use Docker to run and debug Go applications.

In this post, we’ll use Docker Compose to run and debug our application. For this article, we’ll be using the source code here and we’ll switch to the compose branch before we start.

Running Go applications using Docker Compose

Let’s start with running the application using Docker Compose.

Continue reading

Posted in Features, Tutorial | Tagged , , , , , | 2 Comments

What’s Next: GoLand 2020.2 Roadmap

A month ago, we released GoLand 2020.1. Since then, we’ve had time to get your feedback, release a few bug-fix updates to polish the rough edges, and of course, discuss our future plans.

For GoLand 2020.1, we stayed focused on the overall performance of the IDE (and we will continue to do so). Go Modules support was extended in many different ways, from code completion, refactorings, and navigation features in the go.mod file to the ability to configure the default values of environment variables using a new dialog. Besides that, we added many code-editing features that require little to no interaction from the user and an expanded code completion family. And, for sure, we didn’t forget about new code inspections, quick-fixes, updates for the debugger, and many more improvements.

If you haven’t checked out these new features yet, visit our What’s New page for detailed descriptions, GIFs, and screenshots.

If you prefer to learn about the release by trying it out instead of reading about it, you can complete the tutorial inside the IDE. Find the Features of GoLand 2020.1 tutorial above your project list on the Welcome screen, or click the Learn tab in the editor. Please remember, though, the tutorial does not cover all the features introduced in the release.

As usual, the introduction section of this blog post contains a BIG THANK YOU for our most active users. These users have helped us make GoLand better by sharing their product experience, feedback, and suggestions with us. We are always happy to reward them with 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)
  • Denis Cheremisov (YouTrack username: sirkon)
  • Sergej Zagursky (YouTrack username: g7r)
  • Michael Whatcott
  • Mohammed Abubakar (YouTrack username: mohammed.abubakar)

GoLand 2020.2 Roadmap

Please note, we can’t guarantee that all of the features listed below will be included in GoLand 2020.2.

More polish for Go Modules support

To make Go Modules support definitely shiny, we’ve decided to fix as many glitches and inconveniences as possible. We’ve assembled a list of our plans for some of the more noticeable ones below:

GO-7572 — The behavior of the IDE that causes a forcible switch from the Terminal tool window to the Run window when a background job is finished will be reworked to be more user-friendly.

GO-8774 — GoLand will take a more meaningful approach to resolving imports in projects with vendor/.

GO-8932 — The bug that prevents the use of Go Modules vendoring mode with GOPROXY=off will be investigated and resolved.

GO-8476 — Adding a new dependency to a project by typing an import manually will not disable imports optimization.

And of course, how could we resist adding something new?
Continue reading

Posted in Roadmap | Tagged , | Leave a comment

Improvements and bug fixes of GoLand 2020.1.2

Today, I’m happy to announce that GoLand 2020.1.2 is out and ready to be downloaded. You can update to 2020.1.2 by:

Download GoLand 2020.1.2

So, what makes the 2020.1.2 release worth taking the time to upgrade to?

Continue reading

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

Debugging a Go application inside a Docker container

In the previous article of this series, we discussed how to get started using Docker to run our Go applications.
Today, we’ll take a look at how to debug a Go application that runs inside a container.

Creating the Dockerfile for debugging

Using the same repository that we used in the last article, we can switch our branch to the debug branch.

Continue reading

Posted in Features, Tutorial | Tagged , , , | 4 Comments

Go development with Docker Containers

Today we start a miniseries of articles about the support inside GoLand for Docker, Docker Compose, and Kubernetes and how it can help us write (micro-)services in Go.

We’ll look at how to configure the project in the IDE, how to use either Docker or Kubernetes to run or debug our project, and how to connect the project to our database of choice, PostgreSQL.

Let’s start with a presentation of the normal Docker workflow, then we’ll build our container and run it.

Continue reading

Posted in Features, Tutorial | Tagged , , , | 2 Comments