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.

blog@2x

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.

EAP builds let you try out the latest features and enhancements in Goland that are still a work in progress. The builds are not fully tested and might be unstable, but this is where you can come in. By taking these builds and features for a drive, in your real-world projects and scenarios, you can help us polish them, and so when the final release is ready, it will work for you smoothly.

  • The EAP lets you try out all the newest features first.
  • EAP builds are free to use for 30 days after the build date. You can basically use this as as an extended trial of GoLand.
  • We provide EAP builds until a stable release is almost ready. For this upcoming version 2019.3, it will last approximately through mid-November.
  • In each release cycle, we recognize the most active evaluators with a free 1-year GoLand subscription and a branded T-shirt.
  • On top of that, we provide fresh builds based on the latest development code almost every day, if you don’t want to wait for the official announcements of EAP builds. These nightly builds are only available via the Toolbox App. Note that the quality of nightly builds is usually below our standards, they don’t have release notes, and like EAP builds they also expire within 30 days of their release.

So, let me tell you about what’s new in this first EAP for GoLand 2019.3.

Support for Remote debugging with Mozilla rr

Now it’s possible to debug your applications remotely using Mozilla rr. Follow these steps:

  1. Collect an rr trace on the remote machine.
  2. Start the debugger on the remote machine like this:
    dlv --headless --api-version 2 -l localhost:2345 replay /path/to/trace/dir /path/to/binary
  3. Connect to it from the IDE as usual.

Performance

We’ve fixed several issues to make GoLand perform faster and consume less CPU.

Refactorings

Change Signature always shows the type of parameters in the Parameters and Result parameters tabs. Tick the new Reuse types checkbox to collapse consequence types in the Signature Preview.

change-signature

In addition, you will find a new intention action, Reuse signature types, which merges parameter definitions in a single declaration (via Alt + Enter).

The Move refactoring doesn’t rename package main files that contain a func main() declaration, so they remain runnable.

Extract Variable and Rename are now better at suggesting names. For example, err is suggested for expressions of type error, ctx is suggested for context.Context, and so on.

exctract-variable

Other improvements

Now it’s possible to analyze the callees’ method hierarchy in the Hierarchy tool window. Previously, it was only possible to explore the callers of a selected method. Now, we’ve added two dedicated buttons to easily switch between the callers and callees of the selected method. Also, now you can sort the elements within a tree alphabetically, by clicking a special button in the menu.

hierarchy-tool-window

The inspection Bool condition code (part of Declaration redundancy inspections) doesn’t warn you about using const booleans anymore.

The names of Go Module packages are presented in a clearer and simpler way in the Project View.

go-modules

We’ve made the rune literal lexer less restrictive, so GoLand doesn’t highlight a valid rune literal as an error after editing.

This entry was posted in EAP, New Features and tagged . Bookmark the permalink.

10 Responses to GoLand 2019.3 Opens its Early Access Program!

  1. Matthew L Daniel says:

    When can we expect the Go and Go Template plugins to be updated for the IDEA EAP release? The plugin page shows none of them tolerate build 193.x

  2. Boris Lednar says:

    Hi, I’m using Nightly builds (I like updating so often and getting new features :)) and I’m currently on GoLand 2019.3 EAP (Build #GO-193.3519.33, built on September 22, 2019 / macOS 10.14.6), but everytime I run GoLand, I get GOROOT not defined and have to click and select Go version, which doesn’t matter so much, but worst thing is that Ctrl+Ctrl (Run Anything) doesn’t work and I can’t even find it in Keymap list (it happened few times before that in some EAP version it didn’t work or it worked once, but I couldn’t trigger it more times only after I restarted GoLang. Is it a known issue?

    Thanks.

    • Florin Pățan says:

      Hi Boris,

      There are a few issues here.

      Regarding the GOROOT, that shouldn’t happen, and we don’t have any reports about it yet, so let’s see what’s going on and how we can fix it. Please submit an issue on our tracker: https://youtrack.jetbrains.com/issues/Go and attach the IDE logs via “Help | Compress Logs and Show in…”. Also, any steps to reproduce this would be helpful.

      Regarding the “Run Anything” feature, we disabled that feature for GoLand. Can you please explain how you are using this feature or why would you need it? This will help us understand if we need to re-enable it or we need to improve existing features/provide new ones.

      Thank you .

      • Boris Lednár says:

        Thank you.

        I submitted an issue: https://youtrack.jetbrains.com/issue/DBE-9192

        For “Run Anything” I was using it quite often, because I have 6-7 Run configurations and have to run or debug different one lot of times and I’m trying to avoid using mouse as much as possible :) I just hit Ctrl+Ctrl, type few letters and hit Enter (or Shift+Enter to Debug). Maybe I just got used to it and it can be done more easily, but I’d like to avoid setting different shortcuts which I have to remember and Run configurations can change a lot etc.

      • Boris Lednár says:

        EDIT to previous post: I started using “Run…” action with custom shortcut and I have to say it’s probably better than pressing Ctrl+Ctrl, so maybe it’s not needed anymore :)

      • Aleksei Piianin says:

        Hi Florin,

        I have several commands which included in my project’s makefile. I’m using “Run anything…” to run those commands and navigate to my code if an error happened.

        It isn’t convenient to configure Run… commands in all of my projects (more than 10) and ask my colleges to configure it in their Goland if I ask something or help them. Press Ctrl+Ctrl is easy to quick run commands.

        Enable this feature on Goland EAP or making it configurable for user.

  3. Aleksei Piianin says:

    Dear Goland team,

    I ask you return “Run anything…”.

    I have several commands which included in my project’s makefile. I’m using “Run anything…” to run those commands and navigate to my code if an error happened. It isn’t convenient to configure Run… commands in all of my projects.

    • Florin Pățan says:

      Thank you for your comment. I’ve seen the issue you created, let’s continue the discussion there.
      As for why the comment did not appear the first time, it was because it was in a moderation queue. I’ve published both comments now.

Leave a Reply

Your email address will not be published. Required fields are marked *