Go logo

GoLand

A cross-platform Go IDE with extended support for JavaScript, TypeScript, and databases

Early Access Program

GoLand 2021.3 EAP #3: gofmt on Save, Proxy Support for SSH, the Ability to Split the Run Window, and Database Improvements

EAP build #3 for GoLand 2021.3 is here! 

You can get the EAP build via the Toolbox App, download it from our website, use a snap package (for Ubuntu), or from inside GoLand, select Check IDE updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.  

Download GoLand 2021.3 EAP #3

gofmt on save enabled by default

When you work in GoLand, your code is formatted by the IDE’s own formatter. There are also ways to enable Go’s formatter – gofmt – in the settings (you can read about them here), but users regularly asked us to make this option more discoverable or enable it by default. 

One of the ways to use gofmt is the Reformat code option, which lets you run both formatters every time you press ⌘S (Ctrl + S). Starting from this build, this setting is enabled by default.

You can control the Reformat code option in Preferences/Settings | Tools | Actions on save.   

Remember, that GoLand also has the Run gofmt on code reformat option, which is enabled by default as well. This option lets you invoke both formatters with the shortcut ⌥⌘L (Ctrl + Alt + L) whenever you want.  

Proxy support for SSH connections 

One of the most highly-anticipated features has been made available in this EAP release. You can now specify an HTTP or SOCKS proxy server for your SSH configuration.

Under the new HTTP/SOCKS section, you can select the proxy type, enter a hostname and a port, and, if necessary, apply authentication with a username and password. 

It is also possible to sync your SSH proxy settings with the global IDE ones. To do so, select the Use global IDE proxy settings checkbox. If you haven’t previously configured the global settings, you can easily do so by clicking the corresponding link under the checkbox. 

Or you can configure global IDE proxy settings in Preferences/Settings | Appearance & Behavior | System Settings | HTTP Proxy

Split tabs in the Run tool window 

We introduced the ability to split the editor horizontally or vertically in v2020.3, and since then we have received a lot of requests to add a similar feature inside the tool windows. GoLand 2021.3 takes a step toward implementing this by allowing you to split the Run tool window. 

This can be useful when you have several configurations running simultaneously and need to see the results of all these runs. You can split the window by dragging and dropping the tabs to the highlighted area inside the Run tool window. To unsplit the window again, right-click the top pane and select Unsplit from the context menu. 

Database improvements

Aggregates

We’ve added the ability to display an Aggregate view for a range of cells. This is a long-awaited feature that will help you manage your data and that will spare you from having to write additional queries.

Select the cell range you want to see the view for, then right-click and select Show Aggregate View.

One aggregate value is displayed in the status bar, and you can choose which value you’d like it to be.

Independent editor tabs 

If you split the editor and open the same table, the data editors will now be completely independent. You can set different filtering and ordering options for them. Previously, filtering and ordering were synchronized.

Custom font for the data editor 

You can now set fonts for the data editor separately from the rest of the IDE. To choose the font, go to Preferences/Settings | Tools | Database | Data views | Use custom font

MongoDB: Completion for filter {} and sort {}

Code completion now works when filtering data in MongoDB collections.

JavaScript: new intention action for putting elements on multiple lines

GoLand has an intention action for Go files that lets you quickly put arguments on separate lines, and, if needed, back on one line. We now also have a similar intention action for JavaScript projects.  

The intention action works for array and object literals; parameter and argument lists; XML, HTML, and JSX attributes; and other similar elements.

To try the intention action, place the caret on the elements you want to alter, then press ⌥ ↩ (Alt + Enter) and select either Put comma-separated elements on one line or Put comma-separated elements on multiple lines as appropriate.

For XML, HTML, and JSX, you’ll see a slightly different wording for this action – Put attributes on separate lines or Put attributes on one line.

That’s it for today! Let us know what you think about the new features. Leave your comments here, tweet us, open an issue in our tracker, or drop us a message in the Gophers Slack #goland channel. Thanks!

image description