1. 程式人生 > >GoLand 2018.3 released!

GoLand 2018.3 released!

blog@2x

Get ready for the Change Signature refactoring, Testify support, and many new tools in the debugger such as Google App Engine, Go core dumps, and Mozilla rr. Find new code inspections and intention actions, improved code completion, support for diagrams, updates for VCS, Docker, Kubernetes, and much more.

To take in all the new features, with GIFs and full descriptions, please visit the What’s New page.

Let’s have a quick look at the highlights of this release.

Refactorings

  • The new Change Signature refactoring gives you many ways to modify a function, method, or method specification signature in just a few clicks.
  • Inline highlights inlined code after applying.
  • Rename notifies you of potential conflicts that might be introduced by the renaming, if any.

Debugger

This release improves debugger in many different ways. Now you can:

  • Run and debug Google App Engine applications locally.
  • Explore Go core dumps without any third-party tools. Simply select Run | Open Core Dump
    .
  • Catch non-trivial bugs using Mozilla rr support. Record and replay your program execution until you see a failure, using just two buttons in the debugger.

In addition, the debugger provides code completion, inspections, and quick-fixes for the Evaluate Expression dialog and the Watchers panel.

Test runner

Goland 2018.3 supports Testify! Run suites and methods like regular test functions, directly from the editor.

Code inspections

  • A new inspected, Unhandled Error, alerts you to functions or methods that return an error whenever the error isn’t being checked.
  • A new inspection, Unreachable code, detects parts of code that can never be executed.
  • The Function Call code inspection now works in tandem with the new Finish Call Expression quick-fix.

Intention actions

  • The new Add format string argument generates a placeholder for any provided expression via a popup.
  • The new Generate Constructor generates functions for creating values of the struct type.
  • Generate getter/setter and Generate getter and setter now create boilerplate code and let you customize the pointer/non-pointer receiver type and its name.
  • Generate Constructor, as well as Generate getter/setter and Generate getter and setter, are available via the Generate popup menu.

Code completion

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.

Go templates (html/template)

As you work with Go templates, enjoy code completion, find usages, the Rename refactoring, and improved code formatting.

Search & navigation

  • The Search Everywhere popup has a new UI and provides quick access to Go to type, Go to file, Go to symbol, and Find.
  • The Find in Path and Replace in Path dialogs are better at supporting multiline code snippets.

Code insight

GoLand’s code editor grows and expands in different ways:

  • New gutter icons let you better spot shadowed/shadowing methods of embedded types.
  • Complete Current Statement now inserts the required trailing comma automatically in any composite literals (such as struct, slice, etc.) and puts the caret on the next statement.
  • GoLand supports multiline TODO comments for Go, JavaScript, TypeScript, CSS, and SCSS.
  • You can exempt a specific set of files from the code actions Reformat code, Optimize imports, and Rearrange.

Diagrams support

Diagrams allow you to visualize and explore:

  • Go module dependencies.
  • Imports and exports in-context in JavaScript and TypeScript projects.
  • Tables and their relationships in Databases and SQL.

VCS

  • The new GitHub Pull Requests tool window shows all pull requests from GitHub with their descriptions, current labels, changed files, and assignees.
  • GoLand now clones not only the root repository but all of its submodules as well.

Tools

  • The Kubernetes plugin supports Helm.
  • Docker supports CLI options for the build part in Docker run configurations.

Accessibility improvements

  • High-contrast theme: Settings | Appearance & Behavior.
  • Better support for screen readers.

Miscellaneous

  • The Attach action is available via the Open Project popup.
  • Drag files and projects to the Welcome screen to open them.
  • The Activity Monitor shows how much CPU the various subsystems and plugins are consuming:
    Help | Activity Monitor.
  • The Plugins page in Settings | Plugins has been completely reworked, including both its functionality and the UI.

JavaScript & TypeScript

  • Support for TypeScript 3.1.
  • Autoimports and parameter hints in JavaScript.
  • Better null and undefined checks.
  • Improved coding assistance for Angular templates.
  • Completion for previous package versions in package.json.

Databases and SQL

  • Support for Cassandra databases.
  • Better code completion in many areas.

If you have an active subscription to GoLand or the All Products Pack, feel free to upgrade to GoLand 2018.3 right away using the download page or our Toolbox App.

If you don’t, here is a free 30-day trial to give it a spin!

Also, don’t hesitate to share your feedback with us: here in comments, in our Twitter, or our bug tracker.