Say Hello to GoLand 2019.2!

GoLand 2019.2 has enhanced its debugger in several ways: now it supports function calls during the debugging session, and displays the result of simple String(), Error(), and DebugString() method implementations in the Variables pane. In other big improvements, the Default & Darcula color schemes are polished, customizable Postfix Completion templates are available, and smarter Go Modules and dep integration are here too.

blog@2x

On top of that, we’ve added support for the new features introduced in Go 1.13, various quick-fixes based on the Change Signature refactoring, and many new code editing features. Support for Shell scripts and Kustomize for Kubernetes is available, and last but not least, the Extract Method refactoring can now handle code with return statements.

Download GoLand 2019.2

However, that’s not all we’ve added! Read on for highlights in this blog post, or go to the What’s New page to learn more about what we’ve done with screenshots and GIFs.

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

What’s New Highlights:

Debugger:

  • Support for function calls during the debugging session.
  • Displaying the result of simple String(), Error(), and DebugString() method implementations in the Variables pane.
  • Better presentation of time.Duration, time.Time and net.IP in the Variables pane.

Improved Default and Darcula color schemes

We’ve added some variety to semantical colors of code elements in the Default and Darcula color schemes, and made them a little neater visually.

Custom Postfix templates

For an additional productivity boost, you can now create and use your own custom Postfix Completion templates.

Support for Go 1.13

GoLand 2019.2 supports number literals and signed integers as shift counts.

Quick-fixes based on Change Signature

Various quick-fixes based on the Change Signature refactoring are here to help you automatically infer and add a parameter to the function call, add missing return parameters in a signature, and more.

Smarter Go Modules & dep integration

More attention to important details! Go Modules and dep integration automatically enables when you open a project that uses Go Modules or dep.

Code completion

Code completion now provides suggestions for struct fields even if there’s no receiver.

Leveled-up Extract Method

The Extract Method refactoring now handles code with return statements.

Code inspections

  • The Redundant type conversion code inspection reports on redundant type conversions that can be omitted.
  • Validation of slice indices in composite literals warns you that your index must be a non-negative integer constant.

Code editing

  • Support for escape sequences in string literals is fully equipped with code highlighting, inspections, smart editing, and more precise spell-checking.
  • Fill Fields action lets you choose fields you want to fill in a dedicated window and edit generated values. In addition, action is available via code completion.
  • Extend Selection extends the code in a semantically correct way.

Miscellaneous handy changes

  • New Scope chooser options: Recently Changed and Recently Viewed Files, Files in Previous Search Result, Selection, and Data Sources, plus an ability to set a scope for the Rename refactoring.
  • The Move Caret to Next Word moves the caret to the end of the current word.
  • In-place Descriptions under the View menu adds file size, date and time modifications in the Project View.

UI improvements

  • Fresh look for New | File dialog.
  • The Plugins page has improved: there’s a new location for plugin details, options to disable or enable all the downloaded plugins at once, the Update button is now placed near the plugin name, and the Updates tab has been removed completely.
  • We’ve removed rarely used icons from the Find tool window and grouped some others.

Version control

  • You can now commit directly from the Local Changes.
  • Code highlighting, code completion suggestions for ignored files, and ability to quickly add a file to .gitignore via context menu in the Local Changes tab of the VCS tool window.
  • An Abort Merge option is available in the Branches popup.
  • Choose which columns you want to see in the Log tab including Author, Date, and Hash.

Tools

  • The Kubernetes plugin supports Kustomize.
  • Rich editing support is available for shell scripts, including word and path completion, Quick documentation preview, and even a text-based Rename.
  • Ability to view the file system of the running Docker container.

Web development

  • Smart intentions for JavaScript and TypeScript: Propagate to destructuring declarations and Replace destructuring with property and index access.
  • The improved Rename refactoring for Javascript groups together dynamic usages and excludes them from the refactoring.
  • Improved support for Vue.js.

We love hearing from you! Your feedback is invaluable and often the source of excellent ideas for improvement. Please tell us what you think by dropping us a request in our bug tracker or by tweeting us @GoLandIDE. Thank you!

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

6 Responses to Say Hello to GoLand 2019.2!

  1. Yarco says:

    You can manually call String(), yes, but if I have 20 structs of the same type in my debug window, I need to set a manual watch for all 20 of them.
    a = *math/big.Rat | 0x0000c000 | (If I could only have the String() representation here ie “24”…)

    • Dmitry says:

      At the moment calling String() is the only option. We don’t call it automatically because in the current implementation calling a function resumes execution of all goroutines, so it can affect execution results. But it seems like for math/big.Rat we can compute presentation without calling a function. Please watch/vote for https://youtrack.jetbrains.com/issue/GO-7792.

  2. Spencer Lowe says:

    This new font is very interesting, what is the name of the old font that was used?

  3. Spencer Lowe says:

    This new font is very interesting, what is the name of the old font that was used?
    Thanks!

    • Ekaterina Zharova says:

      Hi Spencer,

      we changed default color schemes, but we didn’t change the font. The default one for macOS is Menclo that you might have seen on screenshots.

      • Spencer Lowe says:

        Okay I see what happened, so prior to this update the font was ‘monospaced’ but then after the update it switched to ‘consolas’. Changed it back to monospaced and all better

Leave a Reply

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