Hello, GoLand 2020.3!
Today is a great day because GoLand 2020.3 is polished and ready to be delivered to you! It is the third and the last release of this year.
In this version, you will find a new option to explore goroutine dumps in the debugger, the ability to stop a debug session using a Go Remote configuration, and the run and navigate functionality for individual table tests!
Also, we’ve packed this release with the expanded support for the Testify test framework and a bunch of new code editing features, including support for the time package, smarter ways to handle packages, UI improvements as well as a variety of new features for web development and working with databases. And the cherry on top is a new service from JetBrains for collaborative development and pair programming!
Read more about the new features on the What’s New page, which includes a full overview of the release along with GIFs and screenshots.
Do you prefer to learn about the release by trying it out instead of reading about it? Complete the What’s New in GoLand 2020.3 tutorial inside the IDE on the Welcome screen.
What’s New Highlights
Debugger
- The new Dump Goroutines icon in the debugger lets you easily find goroutines that contain a specified string in the stack during the debug session. The option to hide an individual goroutine or goroutines with the same stack helps you to focus on information that matters.
- With the Go Remote configuration, you can stop a process and specify the default behavior of the debugger on disconnect.
Testing
- We’ve added support for table tests to let you run and navigate to individual table tests from the Run tool window.
-
Get more from the expanded Testify support: start individual test suites, rerun a subtest without the need to rerun the entire top-level test, run suites with the same method name separately within a single test case, and enjoy code completion for functions or methods that accept
testing.T
as the first argument.
Code inspections
- The Incorrect usage of Println/Printf like functions code inspection will warn you about potential problems in github.com/pkg/errors, github.com/sirupsen/logrus, and go.uber.org/zap packages.
- The context.CancelFunc is not called inspection reports potentially unsafe uses of context cancellation.
Code editing
- We’ve added support for the time package so you can work with time and duration more easily.
- GoLand 2020.3 shows packages that you use frequently or that are explicitly declared in the go.mod file at the beginning of the completion list, and lets you exclude unwanted packages completely from your project import path and completion suggestions.
- Spot variable shadowing more effectively with different colors for variables and the Navigate to shadowing declaration intention action.
- We adopted the design of generics by the Go team and added support for square brackets for the generics syntax instead of parentheses.
Other improvements
- GoLand suggests bench and test Live Templates in the completion options when you type func in the test file.
- The IDE suggests a for loop with b.N when you type for inside the benchmark.
- We’ve improved spelling and grammar checkers and added support for 10 additional languages.
Code With Me
Code With Me (EAP) – a new service from JetBrains for collaborative development and pair programming that lets you share the project you currently have open in your IDE with others and work on it together in real time.
UI improvements
- Reworked Welcome screen.
- The Sync with OS option that synchronizes your IDE theme with OS preferences.
- The ability to drag and drop tabs anywhere to split the editor.
- Many improvements for more pleasant work with files in the Project view.
VCS updates
- The VCS menu now adapts to the version control system that you are currently using.
- Support for Git staging area.
- Improved work with branches.
More features
- The ability to enable plugins for the current project or for all projects.
- A system shortcut keymap for macOS to provide you with an alternative macOS keymap that offers extended compatibility with system shortcuts.
- Improved search mechanism and visualization of the flame graph in the Profiler.
Web development
- Create a React component from an unresolved reference via Alt+Enter.
- Full support for pnpm.
- Basic support for multiple webpack configs.
Work with databases
- Couchbase support.
- Support for grants in MySQL, PostgreSQL, Greenplum, Redshift, and SQL Server.
- Improved separate editor for cell values.
- Two new extractors to make it easier for you to work with data: One-Row and SQL-Insert-Multirow.
That’s all. We love hearing from you! Don’t hesitate to ping us on Twitter or report any issues you find to our bug-tracker. Besides that, we really appreciate your feedback on the release. Share your thoughts and any comments – we’d love to discuss with you!