GoLand 2019.3: Faster Than Ever Before with Improved Go Modules Support, New Quick-fixes, and Much More

Today we are happy to announce GoLand 2019.3 is released!

This one was slightly different from our regular releases. We aimed to fight bugs, glitches, unexpected behavior, and anything confusing, to provide you with a more pleasant experience as you develop with GoLand. However, we couldn’t resist adding a few new things, too. Let’s have a look at what is waiting for you in the latest version!

blog@2x-3

GoLand 2019.3 consumes less CPU and performs faster than ever before. It boosts Go Modules support, adds a set of new quick-fixes, features reinforced refactorings, and can debug your applications remotely using Mozilla rr. We have improved the code inspections behavior and code editing features, such as adding a clearer and more concise error message for rune literals. You can enable a Global File Watcher for every new project, work with MongoDB, and more!

Download GoLand 2019.3

Read about the highlights in this blog post, or you can go to our What’s New page to learn more about what we’ve done.

If you haven’t tried GoLand yet, this is a good time to start a free 30-day trial to evaluate all the new features – polished and hot off the press.

What’s New Highlights

Performance

GoLand 2019.3 consumes less CPU and performs faster, which includes the startup time.

Go Modules

  • go.mod file is equipped with code highlighting and navigation from the dependency import path to its sources in the Project View.
  • Go Modules are displayed with their full import path, and their versions are presented in a muted font color in the Project View.

Debugger

  • Call a method of an embedded field directly via Evaluate Expression.
  • Debug your applications remotely using Mozilla rr on Linux.

New quick-fixes

  • Delete all unused parameters removes all the unused parameters in one go.
  • Create method/function creates a missing function or method if there is no call.
  • Delete parameter names and Rename to _ help you quickly handle unused parameter names, its types, and functions that are used as a function type.
  • Reuse/Expand signature types merge parameter definitions in a single declaration or add types to each parameter.

Refactorings

  • Change Signature shows the types of parameters in the Parameters and Result parameters tabs, as well as gets a new checkbox Reuse types to collapse consequence types.
  • 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.

Code Inspections

We’ve reworked the code inspections behavior to be more focused and show the most relevant quick-fixes and intention actions for a particular piece of code.

Code Editing

  • For rune literals, GoLand provides a clearer and more concise error message explaining why the expression is incorrect. We’ve also fixed several bugs that could lead to unexpected behavior in the editor while working with rune literals.
  • Syntax highlighting is available for reassignments on the left-hand side of short var declarations.
  • Code folding works for composite literals.

Live templates

The live templates for and forr suggest relevant variable names, while meth provides code suggestions for receiver names.

  • There is a New In Selection option in the bar to search only in a selected area when using Find (⌘+Fon macOS and Ctrl+Fon Windows/Linux).
  • GoLand shows the file extensions when you search in the Find in Path dialog using a file mask.

Global File Watcher for all new projects

Now you can enable the Global File Watcher by default in every new project you create or open.

Tutorials

We’ve added interactive tutorials on the welcome screen, located above your project list, to help you learn new and existing GoLand features by seeing them in action.

More changes

  • The Hierarchy tool window lets you switch between the callers and callees of the selected method, and sort the elements within a tree alphabetically.
  • In GoLand 2019.3, you can install and uninstall any theme plugins and keymap plugins without restarting the IDE.
  • You can set a custom shortcut for the action that takes the focus back to the editor.
  • We’ve added a way to make the scrollbars more visible.

Version control improvements

  • In the new Clone dialog, located under VCS | Get from Version control, you can log right into your GitHub account.
  • The Show Details link provides the list of commits that led to a conflict during a merge, rebase, or cherry-pick operation.

Databases updates

  • Basic support is available for MongoDB.
  • A new button lets you quickly search for the connection error you are getting using Google search.

Web development

  • Completion for the class names from CSS libraries on CDN is available without adding their sources to the project.
  • GoLand suggests new variable and parameter names in JavaScript and TypeScript based on the names of classes, interfaces, and type aliases defined in the project, standard libraries, and dependencies.

We are happy as ever to hear from you! Please give us your feedback on GoLand 2019.3 by sending a request to our bug tracker or tweeting us @GoLandIDE. Thank you!

This entry was posted in Releases and tagged , . Bookmark the permalink.

2 Responses to GoLand 2019.3: Faster Than Ever Before with Improved Go Modules Support, New Quick-fixes, and Much More

  1. John says:

    How do you remove those Tutorials?
    For Desktop Manager key binding reasons I can’t complete them.
    And I don’t want them there.

    • Florin Pățan says:

      > For Desktop Manager key binding reasons I can’t complete them.

      Can you describe what problems are you facing that prevent you from completing them?

      > How do you remove those Tutorials?

      You can disable the IDE Features Trainer plugin, if you wish to do so, but it would be great if you could help us out figuring out the issues you are facing so that we can solve them and you can complete the lessons as well.

Leave a Reply

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