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.
- 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.
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.
Goland 2018.3 supports Testify! Run suites and methods like regular test functions, directly from the editor.
- 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.
- 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.
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.
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.
- You can exempt a specific set of files from the code actions Reformat code, Optimize imports, and Rearrange.
Diagrams allow you to visualize and explore:
- Go module dependencies.
- Tables and their relationships in Databases and SQL.
- 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.
- The Kubernetes plugin supports Helm.
- Docker supports CLI options for the build part in Docker run configurations.
- High-contrast theme: Settings | Appearance & Behavior.
- Better support for screen readers.
- 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.
- Support for TypeScript 3.1.
- Better null and undefined checks.
- Improved coding assistance for Angular templates.
- Completion for previous package versions in
Databases and SQL
- Support for Cassandra databases.
- Better code completion in many areas.
If you don’t, here is a free 30-day trial to give it a spin!