Go logo

GoLand

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

Early Access Program

Quick-fix for Invalid Recursive Type, New Settings Synchronization Solution, and Improvements for Databases in GoLand EAP 2022.3 #3

The third build of our current Early Access Program is out! 

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 2022.3 EAP #3

Quick-fix for invalid recursive type 

If your type contains itself, you will get an “Invalid recursive type” error. To avoid this, you should include a pointer to a type, not a type itself. We now have a quick-fix for that. 

User Interface: New Settings Sync solution

In this EAP build, we introduce a reworked solution to synchronize your custom user settings.

For quite a long time, there were two plugins that existed in parallel and featured intersecting functionality – IDE Settings Sync and Settings Repository. To avoid the confusion caused by having two similar bundled plugins, we’ve merged their feature sets into a single solution – the new Settings Sync plugin. 

Synchronizing settings is essential when you use your IDE on two or more computers. After changing a color scheme or a keymap on one machine, you naturally want to see the same setup on the second machine. But even if you have only one IDE instance, Settings Sync is still valuable as a backup solution, since it will allow you to automatically restore all your settings when you set up a new machine from scratch.

The new Settings Sync plugin is capable of syncing all shareable settings from the platform, bundled plugins, and third-party plugins. By default, the plugins themselves will be synchronized and installed silently. As for the third-party plugin settings, not all of them will be transferred seamlessly, as this is dependent on the third-party vendors. We are now communicating with plugin developers about the actions required from their side.

How does the new Settings Sync plugin work?

The settings are stored in the cloud attached to your JetBrains Account. If you use different IntelliJ-based IDEs associated with the same user account, your settings will be automatically synced.

In the cases where a conflict arises due to the simultaneous modification of settings on two different computers, the settings will be merged using the most recent configuration.

How to enable the new Settings Sync plugin

Depending on your current approach to synchronizing settings, you may need to manually enable the new plugin:

  • If you have been using IDE Settings Sync, your data will be automatically migrated to the new plugin, so you won’t need to take any action. 
  • If you are a Settings Repository user, we advise you to continue using your current setup, as the migration is still a work in progress. You’ll get an in-IDE notification once the functionality is ready.
  • If you weren’t previously using a settings synchronization solution but you want to try the new one, you can enable it via Settings / Preferences | Settings Sync | Enable Settings Sync.

Update:

  • If you are using GoLand 2022.2.x or earlier with the old IDE Settings Sync plugin and want to enable the new plugin on v2022.3, your settings will be migrated from the older version, but they won’t be synchronized between v2022.2 and v2022.3 afterwards.
  • The Settings Repository plugin has been unbundled. If you’re using it, your settings will be migrated when upgrading to v2022.3, but the new Settings Sync plugin won’t be turned on automatically. If you want to keep on using the Settings Repository plugin, you can install it manually from JetBrains Marketplace.

Databases 

Quick filter

A long-awaited feature is finally here! Now, when using quick search, you also have the ability to filter objects. All non-matching objects will be hidden.

Pattern-based schema filtering

If you have lots of different schemas, this is for you. It’s now possible to choose databases or schemas for introspection based on regular expression patterns. To do this, click on add pattern and define a regular expression pattern in the new node. The databases/schemas will be chosen according to that pattern.

Formats for datetime fields

It’s now possible to customize how datetime fields will be displayed in the data editor. The settings are located in Tools | Database | Data Editor and Viewer.

This is now available for three types of fields: Datetime/timestamp, Time, and Date. We are going to add support for Zoned time and Zoned timestamp types as well.

To learn more about the database improvements, take a look at this post from the DataGrip team.

Web development 

Code Vision for JavaScript and TypeScript

This version introduces the new Code Vision feature for web development. It gathers various metrics for types and type members in your JavaScript/TypeScript code and displays this information near their declarations.

Code Vision makes it easier to track the usages of various classes, methods, type aliases, and interfaces in your code.

That’s it for today! We value your feedback – please feel free to get in touch with us on Twitter, leave your comments here, open an issue in our tracker, or drop us a message in the Gophers Slack #goland channel. Thanks!

image description