GoLand 2018.3 EAP 4: Mozilla RR, extended code completion, GitHub Pull requests, and more

GoLand 2018.3 EAP 4 is available! Grab it to preview support for Mozilla rr in the debugger, method-like code completion for functions, new gutter icons for shadowed/shadowing (overridden/overriding) methods, GitHub Pull Requests tool window, and more.

Download GoLand 2018.3 EAP

Support for Mozilla rr in debugger

GoLand adds support for Mozilla rr in the debugger. Before we dig into what Mozilla rr is and how GoLand helps you use its features, please note it is available only on Linux machines.

The main idea of Mozilla rr is to help you catch non-trivial bugs more easily. It records program executions until you see a failure, so that you can then replay the failing execution as many times as you need under a debugger.

With GoLand, using Mozilla rr gets even better. As soon as you install Mozilla rr, the IDE is ready to start. You don’t need to configure anything or remember any command line commands – everything works in a click.

Put a breakpoint and choose the Record and Debug option from the Run/Debug gutter icon in the editor. This action opens the Debugger tab in the Run window with dedicated Rewind button, which allows you to run the program backwards until the previous breakpoint is reached.

Debugging with Mozilla RR support

We’ll follow this up in the next few weeks with more details about how to use Mozilla rr efficiently. Watch this space!

Method-like code completion for functions

GoLand 2018.3 adds method-like completion for functions. When you have value t of type T and write t.Foo, you can look through functions that accept value of type T as the first argument. Invoke basic completion twice (Ctrl+Space+Space) to see these completion options.

Method-like Code Completion for functions in action

Gutter icons for shadowed/shadowing methods

New gutter icons let you better spot shadowed/shadowing methods of embedded types. You can also navigate back and forth in one click, or by pressing ⌘U on macOS or Ctrl+U on Windows/Linux.

Go to shadowed methods action

GitHub Pull requests

Wouldn’t it be handy to see all pull requests from GitHub as a list, without leaving the IDE? What if you could also see the description, current label, changed files, and assignee? Imagine you could search by state, assignee, author, after, before, or use sorting.

We at JetBrains think these features are essential, which is why we’ve added a new Pull Requests tool window in the upcoming release to make them available. In addition to the functionality described above, now it’s also possible to create a new local branch or open it on GitHub via the context menu, by right-clicking a pull request.

Pull Requests window

In further releases, the Pull Requests tool window will get features like merge, close, comment, and more. Stay tuned!

In a related change, the Log tab in VCS gets Back and Forward navigation actions (⌘] / ⌘[ on macOS or Ctrl + ] / Ctrl + [ on Windows and Linux). The same actions work after you use the Go to hash/branch/tag action (⌘ + F on macOS, Ctrl + F on Windows and Linux), as well as to navigate to the child or parent commit.

Notable bug-fixes

Commits with the before commit gofmt option do not affect files in the vendor folder and do not affect excluded files.

Download this EAP build from the website, via Toolbox App, or right from the IDE. Last but not least, don’t hesitate to share your feedback with us: here in comments, in our Twitter, or our bug tracker. Thanks!

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

One Response to GoLand 2018.3 EAP 4: Mozilla RR, extended code completion, GitHub Pull requests, and more

  1. Pete Vilter says:

    Excited about the new GitHub features. Would like to be able to go directly from a commit (in the “Annotate” sidebar in the editor or in the commit log) to the pull request on GitHub that contained it, so I can see the commentary on that commit.

Leave a Reply

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