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.
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.
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.
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.
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.
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.
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!