Meet GoLand 2021.1!
Read this post in other languages:
We are happy to announce the first major release of the year!
GoLand 2021.1 allows you to build and run your program remotely via Docker, SSH, and WSL 2, use newly supported features from Go 1.16, including //go:embed, as well as quickly generate code from JSON, handle errors with ease using new quick-fixes, and much more!
You can learn more about the new features in GoLand on the What’s New page, which includes a full overview of the release along with GIFs and screenshots of the new features in action.
If you want an interactive introduction to the new features, the updated What’s New in GoLand 2021.1 course is already available on the Welcome screen in the Learn GoLand tab.
What’s New highlights
In GoLand 2021.1, you can develop remotely without leaving the IDE. Currently, there is support for Docker, SSH, and WSL 2 (Windows subsystem for Linux).
- Support for //go:embed: GoLand provides code highlighting, navigation from references inside the embed directive to files and folders in your project, Rename refactoring, Find Usages, code completion, and a few code inspections.
- Code inspection which detects incorrect usages of asn1.Unmarshal with appropriate quick-fix.
- Code inspection which warns you about invalid calls to the testing.T method Fatal within a goroutine created during the test with an appropriate quick-fix.
Work with JSON
Generate a struct with fields and tags from JSON by simply copy-pasting JSON data into the editor, create JSON and XML tags for all the exported fields in the struct at once, and much more!
Handle errors with ease
The Unhandled Error code inspection now has a whole family of quick-fixes to assign call results to variables and generate an if error not nil check, or do the same and wrap everything in a closure in case of defer and go statements.
- Quick-fix for type incompatibility inside composite literals.
- The Create Type quick-fix now offers to create a type when GoLand notices you are using one that has not yet been defined. GoLand will also create the fields for you.
- Generate getter and setters now creates for the whole struct all at once.
- The Extract Type refactoring lets you extract a type from an existing one or convert an anonymous structure type to a named type.
- The Rename refactoring is available now in go.mod files to allow you to rename the module with a new name safely. There is no need to do a search and replace in the project tree to replace the old module name.
Code With Me
Code With Me, a new JetBrains service for collaborative development and pair programming, is now available as a plugin for GoLand.
Set the required level of access to your project and share the link with your guests. Your peers don’t even need to have their own IDEs installed to collaborate with you. Embedded audio and video calls, along with chat messaging, will help teams discuss code, share their knowledge, and cooperate more efficiently.
Use the new .varCheckError Postfix Completion template after an identifier that returns an error to automatically add default variable names and return the error from the function.
The built-in formatter can now group imports in the same way goimports -local does.
Run & debug
GoLand 2021.1 allows you to run an extended sudo session.
In this new version, we have introduced the early stages of code completion based on machine learning (ML), which is an alternative to the standard ranking mechanism.
- Quick access menu to switch themes or keymaps, navigate to plugins, and go to settings has been placed in the top right-hand corner of the IDE.
- Quick access to recent projects on Windows.
- Better tooltips display.
- Font variations.
- Built-in HTML preview.
- An ability to maximize editor tabs in the split view.
- Makefile Language plugin works by default.
We love hearing from you! Don’t hesitate to ping us on Twitter or report any issues you find to our bug-tracker. We would also really appreciate your feedback on the release. Share your thoughts and any comments – we’d love to discuss them with you!