GoLand 2019.1 gets built-in Memory, CPU, Block and Mutex profilers, enhances the debugger with advanced features, adds new refactorings, and alerts you about potential errors of using nil in expressions in a variety of ways.
It also lets you download and install any Go SDK right from the IDE, and makes you feel right at home with support for customizable UI themes and the new pre-configured Sublime Text keymap.
That doesn’t even begin to describe everything that GoLand has to offer. Read on for the juicy details, or go to our What’s New page to learn more about what we’ve done for Go Modules, navigation, Intention Actions, Version Control, web development, and databases.
BTW, if you haven’t tried GoLand yet, get your free 30-day trial to evaluate the new features.
Read about the highlights, or check them out in this quick demo:
Run the built-in Memory, CPU, Mutex, and Block profilers in one click. Review and sort the analysis results in a dedicated tool window, all from within GoLand.
- Debugging a chain of calls and nested method calls is much easier now with the new debugger action, Smart Step Into.
- The debugger displays goroutines instead of threads (and vice versa). Choose how to show int variables: as binary, decimal, or hex.
- Copy Stack, available in the Debugger tab by right-clicking on the goroutine list, copies the whole frame stack to the copy/paste buffer. Magic!
- Run to Cursor is available as a mouse gesture.
- Windows minidumps are supported.
- Run/Debug Configurations can now be run with sudo.
- A new Extract Interface refactoring helps you quickly create a new interface based on the selected type.
- The Rename refactoring now includes the capability to rename methods declared in interfaces.
- Nilness Analyzer is a new set of code inspections designed to instantly detect whether variables might have nil or not nil values in a variety of situations.
- Multiple defaults in switch code inspection warns you about redundant default cases in a switch statement and lets you quickly navigate to the duplicated default.
New UI Themes and customization support
All the new 2019.1 versions of IntelliJ IDEA-based IDEs you can fully customize the colors of all the UI elements. Really, you can change the color of anything!
Go SDK installation from the IDE
When creating a new project in GoLand, there is now the option to download and install any required version of the SDK, including Beta and RC versions.
Different handy changes
- New pre-configured Sublime Text keymap available from Preferences | Settings | Keymap, and a VS Code keymap, available via this plugin.
- Recent locations popup helps navigation around the project by providing a list of recently visited/changed code locations as code snippets.
- Project templates for web development, such as React App, React Native, HTML5 Boilerplate, and Foundation, are all available from the Welcome screen.
- New option to export Code Style settings to JSON available under Preferences /Settings | Editor | Code Style.
- Settings of JetBrains-made plugins are searchable in the Preferences/Settings dialog.
- The files and folders that are ignored are shown as olive-green in the Project view.
- Copy & paste text to the Blank Diff window by dragging a file onto it.
New Intention Actions
- Set of intention actions to help you reformat declarations the way you want: Settings/Preferences | Editor | Intentions | Declaration.
- Export intention action lets you export a private function, type, or field without switching between packages.
- We’ve added code completion for non-imported Go modules.
- Go Modules projects template get a new Vendoring mode checkbox.
Version control improvements
- An Uncheck all checkbox for Partial Git commits (git add -p) lets you uncheck all the code chunks at once.
- Fixup and Squash Into actions to create commits with the correct fixup! and squash! messages
- The Mark Branches that have incoming/outgoing commits in the Branches popup says it all.
- Display the initials of authors instead or their full name in the VCS annotation.
- Set of refactorings, intention actions, and quick-fixes to help you start easily destructuring objects and arrays in your code.
- Convert to async function intention action helps change a function that returns a Promise to an async function with async/await.
- The docs for HTML and CSS now show descriptions from MDN and information on the browser support.
- When you run tests with Jest, Karma, Mocha, or Protractor and some of them fail, the IDE highlights the code that failed in the editor.
- The Remember password feature now has two options for storing passwords: Forever and For session.
- Support for Greenplum, Vertica, and Apache Hive databases.
- A completely reworked connection dialog.
- New keep-alive and auto-disconnect options.
- The filter in the data editor suggests the value from the clipboard.
Last but not least, the ideas for improvements we have often come directly from the feedback we get from our users. Share your feedback with us by dropping us a request in our bug tracker or by tweeting us at @GoLandIDE. Thank you!