Go logo

GoLand

A cross-platform Go IDE with extended support for JavaScript, TypeScript, and databases

Early Access Program GoLand

GoLand 2020.3 Early Access Program Is Starting!

GoLand 2020.3 EAP starts today! You can find a detailed description of what’s to come in the roadmap for 2020.3.

Get the first EAP build via the Toolbox App, download it 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.

What the Early Access Program is:

EAP builds let you try out the latest features and enhancements in GoLand while they 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.3, the EAP period will last roughly to the end of November.
  • In each release cycle, we reward the most active evaluators with a free 1-year GoLand subscription.
  • Fresh builds come out almost every day. 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.

Debugger

This first EAP build brings the ability to find goroutines that contain a specified string in the stack and hide goroutines that you don’t want to see in the debugger. Click the new Dump Goroutines icon during the debug session to open a dump in a separate window. To hide an individual goroutine or hide all goroutines with the same stack, right-click on a goroutine and select the desired action or just press delete to hide an individual goroutine. These goroutines will be moved to a special Hidden section in the dump window where they won’t distract you.

Testing

Initial support for table tests

You can now run and navigate to individual table tests from the Run tool window.

Current limitations:

  • The test data variable must be a slice, an array, or a map. It must be defined in the same function as the call and must not be touched after initialization (except for range clauses in a for loop).
  • The individual test data entry must be a struct literal. Loop variables used in a subtest name expression must not be touched before the call.
  • A subtest name expression can be a string field in the test data, a concatenation of test data string fields.

Upgrades for Testify Support

GoLand 2020.3 will provide extended support for the Testify framework. The IDE now recognizes the test function that starts a test suite, then it provides a way to start an individual suite.Run and suite.T().Run, as long as the subtest name is a string constant. In addition, it is possible to rerun a subtest from the Run tool window to avoid rerunning the entire top-level test.

Also, GoLand can now run Testify suites with the same method name separately within a single test case.

Code Completion

When you type func in the test file, GoLand suggests bench and test Live Templates by default in the completion options.

When you type for inside the benchmark, the IDE suggests completing it with a for loop with b.N.

Code Inspections

The Incorrect usage of Println/Printf like functions code inspection is working for github.com/pkg/errors, github.com/sirupsen/logrus, and go.uber.org/zap packages. In addition, we’ve added placeholder highlighting and folding, as well as the Add format string argument intention.

Reworked Welcome screen

We’ve reworked the Welcome screen to give you immediate access to:

  • Search for projects.
  • Settings to customize color theme, IDE font, import actions, and sharing preferences.
  • Plugins to expand the functionality of your IDE.
  • Tutorials to learn more about your IDE’s features.

Sync IDE theme with your OS preference

Select the Sync with OS option in Settings/Preferences | Appearance & Behavior | Appearance | Theme to automatically switch your IDE theme to light or dark to match your OS preferences.

Improved spelling and grammar checkers

Suggestions now appear right away in the dialog when you press Alt+Enter. This shortcut is invaluable for improving both your code and your printed text.

In addition, a new version of the LanguageTool grammar checking engine improves the review quality in English and adds support for more than 10 additional languages.

Drag and drop tabs anywhere to split the editor

Split the main editor screen either horizontally or vertically by dragging a tab to the desired position and dropping it there. When you are dragging a tab, the editor will highlight locations where you can drop it.

That’s all for now! Your feedback is an invaluable source of ideas for improvement, so please send us your feature requests via the bug tracker or tweet us @GoLandIDE.Thank you!

image description