GoLand 2019.1 EAP 4 is out with Nilness Analyzer, built-in Sublime Text keymap, ‘Uncheck all’ checkbox for partial Git commits, and more

GoLand 2019.1 EAP 4 is here!

Get this new EAP build via Toolbox App, from the website, as a snap package (for Linux), or right in GoLand – just select Automatically check updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.

Download GoLand 2019.1 EAP 4

Here’s a list of notable issues this update addresses:

Short reminder: during the entire Early Access Program, we provide fresh builds based on the latest development code, almost every day!

Long story short:

  • These fresh builds are called nightly builds.
  • They are available only via Toolbox App.
  • Their quality is usually below our normal standards, and they don’t have release notes.
  • Like EAP builds, they also expire 30 days after their release.

Let’s take a look at what this new build has inside!
Continue reading

Posted in EAP, New Features | Tagged , | 3 Comments

Debugging with GoLand – Essentials

In today’s post, we will continue exploring the debugger functionality in GoLand. If you want to know how to configure the debugger, please see our previous post which contains all the information on how to configure the IDE to work in various scenarios.

We will talk about:

Continue reading

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

GoLand 2018.3.4 is out!

Download it via Toolbox App, update from an earlier version by using Help | Check for Updates command, or just get a copy from our website.

Download GoLand 2018.3.4

Here’s a list of notable issues this update addresses:

GO-6677 — Code completion works as expected for files with no specified type created via the New | File menu.

GO-6623 — Code completion works correctly with type names for structure fields.

GO-6843, GO-6802, GO-6804 — We fixed several issues that affected usage of conditional breakpoints in the debugger.

GO-6786, GO-6687, GO-6717, GO-6738, GO-6720, GO-6690 — Using Go Modules in GoLand should be smoother as we fixed many issues, ranging from the size of its settings dialog to its ability to work with inspect.sh, and more.

GO-6715 Find Usages results doesn’t include usages of libraries if scope set to Project Files.

Remember that we always appreciate your feedback, so please share it with us here in the comments, on Twitter, or in our issue tracker.

Posted in Releases | Tagged | 2 Comments

Debugging with GoLand – Getting Started

Debugging is an essential part of any modern application lifecycle. It’s not only useful for finding bugs as programmers often use debuggers to see and understand what happens in a new codebase they have to work with or when learning a new language.

There are two styles of debugging which people prefer:

  • print statements: which is logging as your code executes various steps that might run
  • using a debugger such as Delve, either directly or via an IDE: this gives more control over the execution flow, more capabilities to see what the code does which may not have been included in the original print statement, or even changing values during the application runtime or going back and forward with the execution of the application.

In this series we’ll focus on the second option, using an IDE to debug an application.
Continue reading

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

GoLand 2019.1 EAP 2: Extract Interface refactoring, Smart Step Into gets highlighting for methods, many improvements for VCS

GoLand 2019.1 EAP 2 is available for download!

Get this new EAP build via Toolbox App, from the website, as a snap package (for Linux), or right in GoLand – just select Automatically check updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.

If you don’t want to wait for announcements to try new features, here you are! During the entire Early Access Program, we provide fresh builds based on the latest development code. Nightly builds are available only via Toolbox App. Note that the quality of nightly builds is usually below our normal standards, they don’t have release notes, and like EAP builds they also expire 30 days after their release.

Now that you are fully aware of all the possible ways to get EAP builds, let’s dig into the new features!

Continue reading

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

GoLand 2019.1 EAP opens with a Better Debugger that includes Smart Step Into action, Improved Refactorings, Enhanced Completion, and more

GoLand Early Access Program for the upcoming 2019.1 release is open!

You can get the first EAP build via Toolbox App, or from the website, using snap packages (for Ubuntu) or even from GoLand itself — just be sure that you select Automatically check updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.

blog@2x

Continue reading

Posted in EAP, New Features | Tagged , , , , , | 4 Comments

Working with Go Modules

In this blog post, we’ll explore how to work with Go Modules when creating new Go projects or working with existing ones.

First, let’s create a new project by selecting New Project from the Welcome Screen. Then choose Go Modules (vgo) as the project type. We can then specify the location of the project, which can now be set outside of the GOPATH, to any directory in your system.
Ensure that GOROOT points to a Go SDK which is 1.11 or newer. While Go 1.10 with the special vgo binary installed can be used, this is not recommended as vgo is not updated as frequently to be on par with the Go releases and might have an unforeseen impact in a mixed Go versions environment.
Finally, we can use the Proxy field to specify if we want to download the Go Modules (or packages) directly from the Internet (default setting), or via a proxy system such as Athens or JFrog’s Go Registry in case you want to store the dependencies in a central place for everyone in the team to have access to the same versions in a better-managed environment.

Continue reading

Posted in Tutorial | Tagged , , , | 1 Comment

All About Code Completion in GoLand

Code completion is one of the greatest benefits of using an IDE: it reduces the number of things that you need to memorize and helps avoid typos and other common mistakes. It is useful for both professional developers who can write clean code faster, and for beginners who get easier ways of learning programming languages.

In this article we’re going to have a look at the many code completion features in GoLand, and how to effectively use them.
Continue reading

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

GoLand 2018.3.2 is out!

Try it via Toolbox App, or update from any earlier 2018.3 with the use of Help | Check for Updates command, or just download a copy from our website.

Download GoLand 2018.3.2

Here’s a list of notable issues this update addresses:

GO-6474 — The debugger correctly displays variable names when their type is an interface.

GO-6523 — Code formatting formats the last parameters with three dots in variadic functions equal to go fmt rules.

GO-6488 — GoLand doesn’t show redundant Save files during the commit notifications when gofmt checkbox is enabled in the commit dialog.

GO-6596 — We’ve solved the problem with unresolved references to packages.

GO-6575 — The IDE correctly calculates array types when array length is specified via expressions like len(otherArray).

GO-6558 — The Move refactoring will preserve line feeds around refactored declarations.

Don’t forget that we always appreciate your feedback, so please share it with us here in comments, or Twitter, or our issue tracker. Thanks!

Posted in Releases | Tagged , | 5 Comments

Go templates made easy

Go ships with its own template engine, split into two packages, text/template and html/template. These packages are similar in functionality, with the difference that html/template allows a user to generate HTML code that is safe against code injection, making it suitable for use on web pages and emails. These packages are also used in other applications such as the configuration for Helm, the Kubernetes package manager, assisting with code generation and much more.

Continue reading

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