GoLand 2021.2 EAP Build #4 Is Here!
GoLand 2021.2 EAP Build #4 is out.
You can get this EAP build via the Toolbox App, download it from our website, use a snap package (for Ubuntu), or get it right in GoLand by selecting Automatically check updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.
Support for converting a slice to an array pointer
The Go 1.17 release date is approaching, and in this version, it will be possible to convert a slice to an array pointer. Before, it was only possible to do this kind of conversion with the help of the unsafe package, which allows stepping around type safety in Go.
As the 1.17 draft release notes say:
Converting a slice to an array pointer yields a pointer to the underlying array of the slice. If the length of the slice is less than the length of the array, a run-time panic occurs.
Since Go 1.17 will allow you to convert a slice into an array pointer, GoLand will not mark these conversions as errors. To do this, change GOROOT to “Go 1.17beta1” in Preferences/Settings | Go.
Generic support for web-types
There are some important changes for front-end technologies in this build. We are introducing a new version of web-types – an open-source standard for documenting various web frameworks. Its initial version was focused only on Vue.js support. This blog post from the WebStorm team describes web-types in more detail.
With this release, we want to build a new architecture to make it easier to support new JavaScript frameworks and extend support for the existing ones. There might be some regressions around Vue.js support while the migration is still in progress. We’re hoping to stabilize this functionality in the next couple of weeks. Please let us know if you spot any issues!
Support for TypeScript types in JSDoc comments
GoLand now properly supports the TypeScript syntax used within JSDoc comments in your .js files. Support for some syntactic constructs, such as union types, has already been available for a while.
With this release, the existing support has been reworked and expanded. The IDE recognizes more syntactic constructs, and we’ve fixed a lot of known issues, too. For example, optional properties in @typedef declarations are now supported.
Intelligent spelling and grammar checks in Go files
We’ve also enabled intelligent spelling and grammar checks in Go files by default. These checks are provided by the Grazie plugin, which is bundled with the IDE. To adjust the settings, go to Preferences/Settings | Editor | Proofreading | Grammar, where you will find the Scope, Rules, and Exceptions sections.
Other improvements and bug-fixes
– GO-11233 – GoLand will suggest creating new Go modules projects in the ~/GolandProjects directory.
– GO-10730 – -coverpkg is not added when running tests on ./…; this temporary fix is needed because of this issue with Go.
That’s all for today. You can find the complete list of improvements for this EAP build in the release notes. Please tell us what you think about our new features. You can share your feedback here in the comments, on Twitter, or in the Gophers Slack #goland channel. You can also open a ticket in our issue tracker.