GoLand 2018.3

The upcoming GoLand 2018.3 release has reached the Beta milestone!

If you’re new to our release cycles, we announce a Beta when we’ve packed everything we plan to deliver in the major update. Since this moment and until the release date, our team is focused only on polishing everything off.

Compared with our Early Access builds, the Beta version is quite stable though it may still have bugs and other issues.

Sep 05, 2019 JetBrains Goland 2018.3.1 + Serial Key Mac OSX September 5, 2019 Jetbrains goland mac crack is a new commercial IDE JetBrains intended to provide an ergonomic environment for the development of Go. The new IDE IntelliJ platform extends assisted coding and integrations specific tools for language Go.

Let’s have a look at what the upcoming release will have inside!
Click on a topic below to learn more about a specific area you’re interested in, or read through the whole blog post to get yourself up to speed with all the new improvements:

New Change Signature refactoring and updates for Inline and Rename

  • Mar 09, 2019  JetBrains GoLand 2018.3.5 + Key 220 MB – Description: JetBrains GoLand 2018.3.5 Before you, the GoLand program is a new and advanced IDE from the well-known company JetBrains, its main task is to give you the tools to create the ergonomic environment you need to develop Go.
  • JetBrains is a cutting-edge software vendor specializing in the creation of intelligent development tools, including IntelliJ IDEA – the leading Java IDE, and the Kotlin programming language.

The new Change Signature refactoring gives you many ways to modify a function, method, or method specification signature in just a few clicks! You can easily change their names and add, remove, reorder, and rename parameters. When you refactor a method specification, GoLand even asks you if you want implementations to be updated as well.

The Refactoring Preview pane help make sure that every change in your code is safe. It lets you explore the results before they’re applied, and discard the change if anything goes wrong.

To learn more, read the detailed blog post about Change Signature and how it helps make safe and fast changes across your whole code base.

In addition, GoLand now highlights inlined code after applying the Inline refactoring to help you catch what has actually happened.

The Rename refactoring gives you an insight into the potential conflicts that might be introduced by the renaming, if any. Conflicts are displayed in the Problems Detected window, where you can continue to explore them in the Conflicts tab, cancel, or proceed with the refactoring.

Code inspections

The Unhandled Error code inspection alerts you about functions or methods that return an error whenever the error isn’t being checked.

Unreachable code inspection detects parts of code that can never be executed.

The Function Call code inspection, which warns you if an expression should be converted into a function or a method call, now works in tandem with the Finish Call Expression quick-fix. This quick-fix adds the missing brackets and completes the expression.

Intention actions

The Add format string argument intention action generates a placeholder for any provided expression via a popup. It inserts the placeholder into a format string and passes the expression as an argument for the placeholder. Also, you can enable code folding for format strings that will replace placeholders with the corresponding arguments.

The Generate Constructor intention action generates functions for creating values of the struct type.

The intention actions Generate getter/setter and Generate getter and setter now create boilerplate code and let you customize the pointer/non-pointer receiver type and its name.
These actions are also available via the Generate popup menu.

Code completion

GoLand 2018.3 adds method-like completion for functions. When you have value t of type T and write t.Foo, you can look through functions that accept value of type T as the first argument. Invoke basic completion twice (Ctrl+Space+Space) to see all of the available completion options.

Code editor

As we continuously improve GoLand’s code editor, its capabilities grow and expand in different ways with each update. This release is no exception.

Go templates (html/template) now resolve variables and field chains. You can also take advantage of code completion and the Rename refactoring as you work with them.

New gutter icons let you better spot shadowed/shadowing methods of embedded types. You can also navigate back and forth in one click, or by pressing ⌘U on macOS or Ctrl+U on Windows/Linux.

Complete Current Statement now inserts the required trailing comma automatically in any composite literals (such as struct, slice, etc.) and puts a caret on the position of the next statement. Just press ⌘⇧↩ on Mac or Ctrl + Shift + Enter on Windows/Linux or select Edit | Complete Current Statement from the main menu.

GoLand supports multiline todo comments for Go, JavaScript, TypeScript, CSS, and SCSS.

In GoLand 2018.3 Beta and further versions, you can exclude a specific set of files from the code actions Reformat code, Optimize imports, and Rearrange.

Search & navigation

Improved Search Everywhere popup

The Search Everywhere popup (Double Shift) gets a new UI and works faster thanks to an asynchronous approach. It also provides quick access to Go to type, Go to file, Go to symbol, and Find. Use the TAB key to switch between them.

Multiline code snippets in Find in Path and Replace in Path dialogs

The Find and Replace in Path dialogs are better at supporting multiline code snippets.

Debugger updates

The upcoming 2018.3 release improves the GoLand debugger in many different ways.

Debugging Google App Engine apps

GoLand now lets you easily run and debug Google App Engine applications locally. To expand our support, we’ve also added a new App Engine project template. Read this blog post to learn more.

Debugger gets coding assistance

The debugger provides code completion, inspections, and quick-fixes for the Evaluate Expression dialog and the Watchers panel.

Go core dumps

GoLand makes exploring core dumps easier without any third-party tools, because all you need to do is to select Run | Open Core Dump. Also, adjust Run configuration settings to create crash dumps automatically: just put GOTRACEBACK=crash to the Environment field.

Note that core dumps are available only on Linux machines by default. However, you can analyze memory dumps on any flavor of macOS, Windows, or Linux.

Mozilla rr support

We’ve added support for Mozilla rr in the debugger on Linux. The main idea of Mozilla rr is help you catch non-trivial bugs more easily. To learn more about how Mozilla rr works and how GoLand can help you use its features, read this blog post.

Diagram support

We support diagrams! Visualize and explore:

  • Go module dependencies (available only in the context menu of a go.mod file).
  • Imports and exports in-context in JavaScript and TypeScript projects.
  • Tables and their relationships in Databases and SQL.

For more details, read this blog post.

Test Runner updates

Testify test framework

The upcoming GoLand 2018.3 supports Testify. It allows you to run suites and methods as regular test functions, directly from the editor. The Comparison Failure window helps explore diffs between expected and actual values for failed assertions.

Generate any test via the Generate popup menu

Empty test file, Test for function, Tests for file, and Tests for package are now available via the Generate popup menu.

VCS improvements

GitHub Pull Requests

The new Pull Requests tool window shows all pull requests from GitHub with their descriptions, current labels, changed files, and assignees. There, you can search by state, assignee, author, after, before, or use sorting. The IDE also helps you create a new local branch or open a pull request on GitHub.

Git submodules support

GoLand now supports Git submodules: when you clone repositories with the submodules, GoLand will not only clone the root repositories but also all of its submodules.

Tools

The Kubernetes plugin supports Helm

As you work with Helm resource template files, enjoy code completion, the Rename refactoring, code inspections, and quick-fixes. For more details, please read this blog post.

Docker

Docker supports CLI options for the build part in Docker run configurations.

Accessibility improvements

We strive to make our IDEs accessible to everyone, and this update takes a big step in that direction.

High-contrast theme

We’ve added new a High-contrast theme, which can be accessed using the drop-down list from the theme options under Settings | Appearance & Behavior or just press Ctrl+`.

Better support for screen readers

The IDE now allows line numbers, VCS annotations, breakpoints, and other gutter icons to be read by a screen reader.

Miscellaneous

Attach action is available via the Open Project popup

The Open Project popup now lets you attach a directory to already opened projects, so you can have as many opened projects in one GoLand instance as you want. Click File | Open, and choose the project you want to attach.

Drag-and-drop files and projects on the Welcome screen to open

Activity Monitor

The Activity Monitor shows how much CPU the various subsystems and plugins are consuming: Help | Activity Monitor.

Plugins Page

The Plugins page based in Settings | Plugins has been completely reworked, including all the functionality and UI. It helps much easier find necessary plugin searching by tags and sort the results by downloads, name, rating, featured, or updated.

That’s all! Download the Beta version from the website, 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.

GoLand 2019.3 consumes less CPU and performs faster, boosts its Go Modules support, adds a set of new quick-fixes, and enhances the refactorings. It’s possible to call a method of an embedded field via Evaluate Expression and debug your applications remotely using Mozilla rr.

You can also enable a Global File Watcher for every new project, work with MongoDB, and more!

Performance

2018.3.1

Since releasing GoLand 2019.2 this summer, we’ve been working hard to make GoLand perform faster and consume less CPU. One of the major performance improvements is reducing the startup times, when the IDE prepares everything under the hood, displays the welcome screen, and indexes a project.

Please note that results may vary depending on the size of your project and your device’s age, RAM, and disk space. We will keep working on this, so you can expect even faster startup times in future releases.

Go Modules improvements

GoLand 2019.3 provides syntax highlighting and navigation for go.mod files. Press ⌘+B on macOS or Ctrl+B on Windows/Linux on a specific dependency import path, and GoLand will navigate you to its sources in the Project View.

Also, in the Project View, the Go Modules will be displayed with their full import path instead of just the last segment of it. The version of each Go Module will also be shown in a more muted font color than the import path, to help you easily distinguish between them.

Debugger updates

Call Method of an Embedded Field

Evaluate Expression in the debugger now lets you call a method of an embedded field directly.

Remote debugging with Mozilla rr

Many production services written in Go run on Linux and Mozilla rr can help investigate bugs that are difficult to reproduce. Mozilla rr debugging is supported starting from GoLand 2018.3, but it used to work only on developer machines running Linux. Now, it is possible to start a debug server on a Linux machine and to debug the trace remotely from macOS and Windows. Follow these steps:

  • Collect an rr trace on the remote machine.
  • Start the debugger on the remote machine like this: dlv --headless --api-version 2 -l localhost:2345 replay /path/to/trace/dir /path/to/binary.
  • Connect to the remote machine via the Go Remote configuration.

Please note Mozilla rr is available only on Linux machines.

New quick-fixes

Handling unused parameters

For an unused parameter, GoLand now highlights its name and type if both can be removed, or only the name if the type is used for implementing a method specification.

In the latter case, the IDE provides two quick-fixes for you to choose from: Delete parameter names or Rename to_. The same behavior is provided for functions that are used as a function type

Also, now it’s possible to remove all the unused parameters in one go. Press Alt+Enter and use the Delete all unused parameters quick-fix.

Create missing method or function

GoLand provides a quick-fix to create a missing function or method when it's used in a function type. Just press Alt+Enter and choose Create method/function.

Enhanced handling of package aliases

GoLand now suggests importing packages based on their used aliases via Alt+Enter in any file in your project.

Refactorings

Change Signature

Change Signature now always shows the type of parameters in the Parameters and Result parameters tabs. Tick the new Reuse types checkbox to collapse consequence types in the Signature Preview and the result.

In addition, you will find two new intention actions, Reuse signature types which merges parameter definitions in a single declaration, and Expand signature types which adds types to each parameter via Alt+Enter.

Extract Variable & Rename

Extract Variable and Rename are now better at suggesting names. For example, err is suggested for expressions of type error, ctx is suggested for context.Context, and so on.

Improved behavior of Code Inspections

GoLand’s code inspections are more focused now. We've reduced the highlighting range of the detected issues in the code editor, to help show the most relevant quick-fixes and intention actions for a particular piece of code when you invoke the context menu via Alt+Enter.

Code Editing

Improved rune literal lexer

We’ve improved the rune literal lexer in several ways:

  • GoLand provides a clearer and more concise error message explaining why the expression is incorrect.
  • GoLand doesn’t highlight a valid rune literal as an error after editing.
  • Parsing of invalid rune literals is more stable.

Highlighting for reassignments

Go allows using existing variables on the left-hand side of short var declarations. Thus, two constructs that look the same can have different meanings. To make this easier to spot, we’ve added syntax highlighting for such reassignments.

Code folding for composite literals

GoLand 2019.3 provides code folding for composite literals. Use the code folding toggles to fold or expand the code fragment, or press Ctrl+NumPad Minus/Ctrl+NumPad Plus on Windows or ⌘+NumPad Minus/⌘+NumPad Plus on macOS. To configure the default code folding behavior, go to Settings/Preferences | Editor | General | Code Folding.

Live templates enhanced

The live templates for and forr now suggest relevant variable names. For example, names like i and index are suggested for an index; s, string, and line are suggested for a value.

The live template meth now provides code suggestions for receiver names.

Navigation

Search only in a selected area

Search only in a selected area when using Find (⌘+F on macOS and Ctrl+F on Windows/Linux). Simply select the piece of code you need in the editor and invoke Find – the IDE will then perform the search only in the selected area. To easily switch to searching within the whole file, press ⌘+F/ Ctrl+F a second time, or toggle the In Selection option in the bar.

Using ‘Find in Path’ with a file mask option

Now, when you search in the Find in Path dialog using a file mask, GoLand shows the file extensions in the search results accordingly. This makes it easier for you to distinguish between files with the same name but with different file extensions.

Enable Global File Watcher for all new projects

In GoLand 2018.2, we added an option to share a file watcher configuration among different projects using the options Project and Global – it’s called a Global File Watcher.

However, you would have still needed to enable this watcher in each new project. Now, it’s possible to enable this watcher by default in all new projects you create or open.

In the menu File, select Other Settings | Settings for new projects, then go to Tools | File Watchers, add a new global watcher, and then select the checkbox next to it to enable it in all new projects.

Tutorials

Goland 2018.3 License Server

Often there’s not enough time to read the What’s New pages, release notes, and blog posts about the product you use, while you need to finish your project and meet the deadline. That’s why we’ve added Tutorials for you to learn about GoLand features when you are ready.

Goland 2018.3.5 激活

You can find Tutorials on the welcome screen, above your project list. When you upgrade the IDE to a new version, there will be a lesson covering the features from the new release. Alternatively, you can access Tutorials via a corresponding tool window from any project.

More changes

Hierarchy tool window

There is a new option to analyze the callees’ method hierarchy in the Hierarchy tool window. We’ve added two dedicated buttons that let you switch between the callers and callees of the selected method. Also, now you can sort the elements within a tree alphabetically, by clicking a special button in the menu. To see the Hierarchy tool window in the Tool Windows list, you need to build a hierarchy first and then go to Navigate | Call Hierarchy or Navigate | Type Hierarchy.

Switch theme and keymap plugins on the fly

In GoLand 2019.3, you can install and uninstall any theme plugins and keymap plugins without restarting the IDE.

A custom shortcut for returning the focus to the editor

Set your custom shortcut for the action that takes the focus back to the editor, instead of using ESC. Find the Focus Editor action in references/Settings | Keymap, right-click it, and select Add Keyboard Shortcut from the drop-down.

More visible scrollbars

We've added an option to make the scrollbars more visible. To do this, select the Use contrast scrollbars checkbox in Preferences/Settings | Appearance & Behavior | Appearance.

Version control improvements

Reworked Clone dialog

The Clone dialog is located under VCS | Get from Version control. Now you can log in from this dialog, or, if you’re already logged in, the IDE will instantly preview the lists of all repositories grouped by accounts or organizations.

Goland 2018.3.2 激活

More insight into merge conflicts

Now it is easier to investigate a conflict during a merge, rebase, or cherry-pick operation. Simply click the Show Details link to get the list of commits that led to the resulting code state, and get more information about the source of the changes displayed in the Merge dialog.

Databases updates

MongoDB support

GoLand 2019.3 provides basic support for MongoDB. Now you can:

  • View collections and fields in the database explorer.
  • Open any collection or observe the query result. It’s also possible to sort by columns or filter the values.
  • Run queries and get the results. Select a statement and run it by pressing Ctrl/⌘+Enter or by using the Play button on the toolbar.

Search for connection error

It’s now easier to explore connection errors. When a connection fails, you can just click the dedicated button in the IDE to move to the search results for your error using the Google search engine.

Goland 2018.3.1

Web development

Completion for CSS libraries on CDN

If you’re using Bootstrap or another CSS library and have it linked from a CDN in your HTML file, you can now get completion for the class names from that library, without adding its sources to the project.

Name suggestions for new symbols

Goland 2018.3激活码

When adding new variable and parameter names in JavaScript or TypeScript, you’ll now get name suggestions based on the names of classes, interfaces, and type aliases defined in the project, standard libraries, and dependencies you’re using.

Goland 2018.3.3 激活

For new variables, functions, classes, and interfaces, you’ll also get suggestions for names that were already used in the same scope but haven’t been defined yet.