Early Access Program Features

GoLand 2019.2 Early Access Program is starting!

The first EAP build for GoLand 2019.2 is now available. You can get it via the Toolbox App, from the website, using snap packages (for Ubuntu), or even from GoLand itself – just be sure that you select Automatically check updates for Early Access Program in Preferences / Settings | Appearance & Behavior | System Settings | Updates.

Download GoLand 2019.2 EAP

The ideas we get for improvements, often comes directly from the feedback we get from you, our users. So, please try this first EAP build out and let us know what you think!

blog@2x

If you are new to GoLand, here is a short explanation of what the Early Access Program (EAP) is about and why it can be useful for you.

EAP builds are not fully tested and might be unstable; the world is unfortunately not perfect. But this is where you can come in. We need you to try out these builds and the features we have created in your real-world scenarios, so when the final release is ready, it will work for you seamlessly. There are some benefits of joining the EAP for you too.

  • EAP lets you try out all the newest features first.
  • EAP builds are free to use for 30 days after the build date. You can use it as a chance to give GoLand an extended trial.
  • We provide EAP builds until a stable release is almost ready. For this upcoming version 2019.2, it will last through to approximately the middle of July.
  • As a token of our gratitude, we present the most active evaluators with a free 1-year GoLand subscription and a branded t-shirt.
  • On top of that, we provide fresh builds based on the latest development code almost every day, if you don’t want to wait for the official announcements of EAP builds. We call them nightly builds. They are only available via Toolbox App. Note that the quality of nightly builds is usually below our standards, they don’t have release notes, and like EAP builds they also expire 30 days after their release.

Extract Method refactoring with returns

We taught the Extract Method to handle code with return statements. If the code always exits via returns, it will be extracted as is. However, if it contains execution paths without returns, the extracted method will have an additional bool flag as a return value. The flag will be used to perform an early return on the call side.

extract-method-refactoring-with-returns

Support for Go 1.13 features

GoLand 2019.2 supports number literals and signed integers as shift counts, these changes are related to the migration to Go 2. Please read the official Go blog post to learn more.

GoLand provides code highlighting, it will alert if you have made mistakes in these new code patterns, and it will correctly show you the output in the Console.

number-literals-support

New option to control caret movement

The default behavior of the Move Caret to Next Word action in GoLand 2019.2 has changed: the IDE will move the caret to the end of the current word.

To change the behavior of the caret movement actions, go to Preferences/Settings | Editor | General and choose where the IDE should place the caret: at the end of the word, at the beginning of the next word, or even between both boundaries.

move-caret-to-next-word

Fresh look for New | File dialog

The New | File dialog has been turned into a popup with a list of all the possible options for a particular file type to create. Previously, you have to expand the list to choose an alternative, but now all the available options are immediately visible.

fresh-look-for-new-file-dialog

More info in Project View

We have added the option to display more info about the files in the Project View.Toggle In-place Descriptions under the View menu to get a preview of the file size, and date and time modifications.

more-info-project-view

User Interface

GoLand, as well as our other IntelliJ IDEA-based IDEs, have a modern new borderless look on Windows.

windows-new-look

The Editor and the Debugger tabs have had small changes made to their appearance to get the same look and feel in both the Light and Darcula themes. In the Light theme, the tab’s height is now aligned with the tool window header height. Also, the white line under the tabs was removed to minimize visual clutter.

Tidy Find tool window

We have removed or grouped together icons in the Find tool window that were rarely used.

tidy-find-tool-window

More Scope chooser options

New scopes such as Recently Changed and Recently Viewed Files, Files in Previous Search Result, and Selection are all now added to the Scope chooser. You will also be able to select the Data Sources scopes.

new-scope-chooser-options

In addition to this, we added the ability to select a scope for Rename refactoring. Double press Shift-F6 to invoke the Rename refactoring window, and choose the scopes where renaming will be performed.

scope-rename-refactoring

Improved Plugins page

The Plugins page is being made simpler and clearer.

Now GoLand shows the plugin details right away, without any need to open the plugin’s detail pages one by one.

We added more options under the gear icon, to let you disable or enable all the downloaded plugins all at once. The Update button is now placed near the plugin name in the Installed tab. The Updates tab is gone as it isn’t necessary anymore.

reworked-plugins-page

Version Control

Forgotten files prediction

GoLand 2019.2 will remind you to include into a commit the files you commonly modify, together with the files you’re currently committing.

VCSFilesPrediction

Prompt to add files that were copied into a project externally

GoLand will prompt you to automatically add to the version control any files that have been copied into the project from outside the IDE, or files that were created in the console or during code execution.

VCSExternal-1

Previously, GoLand marked such files in red to indicate that they were not under version control.

Customizable VCS Log columns

Click on the eye icon to choose the columns to display in the Log tab, select the Show Columns item from the context menu and choose the columns you want to see: Author, Date, or Hash.

customize-vcs-log-columns

Abort Merge option

There’s some good news for I-forgot-to-add-delete-something-please-stop-it-now people; we added an Abort Merge option that will be available in the Branches popup when there is an ongoing merge. This is the future many of us have dreamed of, where you don’t need to switch to the terminal anymore to abort things.

abort-merge-option

Improvements in ignore files handling

All the IntelliJ IDEA-based IDEs are switching to native ignore files handling. Not only will the IDE correctly highlight all the ignored files, but you will also be able to add a file to .gitignore using the context menu from the Local Changes tab of the VCS tool window, so you don’t need to do it manually anymore. Also, code completion is supported in .gitignore files.

VCSIgnore

Show history for directory works through Git Log

GoLand 2019.2 will allow you to view the directory’s history in the Log tab. Select the History Up to Here action from the context menu, and the IDE will show the Log filtered by the respective path.

Platform changes

JetBrains Runtime

All our IntelliJ-based IDEs are now available with the bundled customized JBR11 (the fork of OpenJDK 11 with fixes from the JetBrains team). This transition addresses a whole bunch of issues and hopefully will make your experience with our IDEs much more pleasant.

However, builds with JBR8 are still available from our site for your convenience. Also, as before, you can switch the boot JDK in the Switch Boot JDK dialog (use the Maintenance dialog (Shift+Ctrl+Alt+/ on Linux/Windows, ⌥⇧⌘/ on macOS) to find it).

Statistics Sending Change

In the Early Access Program (only!), we are enabling sending usage statistics by default. This means that we’ll be receiving anonymous data about the features and plugins used, how it is configured, etc.

This will not include personal data or any sensitive information, such as source code or file names. The data sent complies with the JetBrains Privacy Policy. You may disable this at any time under Settings/Preferences | Appearance & Behavior | System Settings | Data Sharing.

Note: This change affects EAP builds only. In the stable releases, data sharing will remain OFF by default.

image description