Early Access Program Features

GoLand 2018.3 EAP 2: Dependency Diagrams, High-Contrast Theme, and Better Code Completion for Databases

GoLand 2018.3 EAP 2 is available for download.

By the way, you don’t have to wait for the official EAP announcements to try new features. After the Early Access Program is open, you can play with Nightly Builds that include all the latest developments.

Download GoLand 2018.3 EAP

Generate Constructor intention action

This new intention action helps generate functions for creating values of the struct type.

Generate Constractor in action

Project dependency diagrams

If you want to get a picture of the project model and the relationships between its components, this diagram is here to help!

You can use these diagrams in several ways, the most interesting of which is easy visualization and exploring of Go modules dependencies in your project. Simply press ⌥⇧⌘U on macOS or Ctrl+Shift+Alt+U on Windows/Linux on go.mod file, or select Diagrams | Show Diagram in its context menu. The diagram will open in a separate workspace tab.

Explore Go Modules dependency diagram

The same action creates a diagram of imports and exports within the context in JavaScript and TypeScript projects. Select a file or folder, invoke the action, and here is the module dependency diagram for you to peruse.

Dependency diagram of JavaScript project

And, of course, now GoLand displays the structure of databases and tables. Columns with primary and foreign keys can be hidden from the diagram and displayed only on relationship lines.

Dependency diagram for table

If necessary, diagrams can be saved on to files or printed right from the IDE.

Go templates

Go templates (html/template) now resolve variables and field chains, as well as provide code completion and the Rename refactoring.

Code completions and Rename refactoring in html file for Go templates

Multiline todo comments for Go

In the first EAP, we announced multiline todo comments for JavaScript, TypeScript, CSS, and SCSS. Now they are available for Go, too.

Multiline todo comments in Go file

High-Contrast Theme

We’ve added support for the new High-Contrast Theme, which can be accessed using the drop-down list from the theme options under Settings | Appearance & Behavior or via the Ctrl+` shortcut.

Opened editor in High Contrast Theme

Better support for screen readers

In a related effort to make GoLand more accessible to everyone, we’ve made the line numbers, VCS annotations, breakpoints, and other gutter icons accessible to screen readers. Please follow the instructions in our docs to enable this support.

Use the following actions to use the new functionality:

  • Use the Alt+Shift+G+F key combination to focus on the gutter. The right and left arrow keys let you move between the lines and gutter elements.
  • Press Alt+Shift+G+T for the screen reader to read a tooltip on the icon.
  • To get back to the editor, press Esc.

Web

GoLand continues to expand the out-of-the-box functionality that it inherits from WebStorm and DataGrip.

Support for TypeScript 3.1

TypeScript 3.1 has been released, and GoLand now supports its new features: mappable tuple and array types, and new property assignments. In addition, GoLand bundles TypeScript version 3.1, so you can select it in Settings | Languages and Frameworks | TypeScript.

Convert function to variable holding arrow function

The Convert to function expression intention action lets you easily convert a function to a variable that holds an arrow function.

Better null and undefined check in JavaScript and TypeScript

Inspection Object is null or undefined notifies you when you get a TypeError because a method is invoked on a value that is undefined or null, or it is passed to a function, or its property is used.

object-is-null-or-undefined

Databases and SQL support

Code Completion

Thanks to our colleagues from the DataGrip team, code completion in this area gets noticeably better:

  • When you use the GROUP BY statement, GoLand offers you a list of non-aggregated fields.
  • A list of all columns is available for completion after the SELECT keyword.
  • We also added this list to the MERGE statement and now it works with INSERT INTO when using table variables.
  • Completion now works well for named parameters.
  • In the case of ambiguous names, GoLand displays their context information to help you distinguish one from another.
  • Added a set of new Postfix Completion templates for SQL: Settings | Editor | General | Postfix Completion.

Code Insight

GoLand will warn you if you use the DELETE or UPDATE statement without WHERE clause.

DELETE or UPDATE statement without WHERE clause code inspection

That’s all! Give this EAP build a try: either download from the website, or via Toolbox App, or right from the IDE. Also, don’t hesitate to share your feedback with us: here in comments, in our Twitter, or our bug tracker.

image description