GoLand 2018.2

Adds support for Go modules and improves Move refactoring.
July 26, 2018
New Version

Features

  • Go modules support (vgo)
    • This update provides integration with Go modules (a.k.a "vgo") out of the box.
  • Move refactoring
    • The new Move dialog shows whether an identifier is needed, and lets you decide if each of the identifiers will be exported or moved.
    • You can now move symbols across packages. If such a move is not possible, the IDE will alert you accordingly.
  • New quick-fixes
    • Convert to expected type - A new quick-fix called Convert to expected type converts a value to the desired type whenever the language permits.
    • Implement missing methods - This new quick-fix lets you quickly add missing methods if the expected type is an interface.
  • Implement Methods
    • Implement Methods action is now able to not only add methods from an interface to a chosen type, but also create this type right away.
  • New Intention Actions
    • Add dot import alias lets you quickly add the dot alias to an import which makes all exported symbols available without a qualifier. Conversely, Remove dot import alias helps switch back to using the package name.
    • Introduce local variable lets you add variables for function/method calls that return values.
  • New Postfix Completion
    • The .sort template transforms array or slice expressions and prepends them with an applicable sort method based on the element type. If the element type is a custom type, it will use the sort.Slice method.
    • The .rr template combines the power of two already available templates, .rre and .rrv, and сan be called on variables and expressions at the same time.
  • Code Style improvements
    • In GoLand 2018.2, it is now possible to disable leading spaces for annotations that start with certain prefixes.
  • Debugger updates
    • Non-suspending breakpoints - The debugger supports non-suspending breakpoints. It allows you set a breakpoint and log it in the console, or even get the stacktrace of the breakpoint when it was reached and then resume the execution. You can also do these actions when a breakpoint is hit and it stops.
    • Lazy-loading for arrays, maps, and slices - Also, the debugger now supports lazy-loading for arrays, maps, and slices; supports deep nesting in maps; and offers a better presentation of key-value pairs in maps and slices. In addition, this update comes with the latest version of Delve which resolves a number of issues. As usual, make sure that you are using the latest Go version available in order to get the most out of the debugging session.
  • Tools
    • Global file watchers - In this release cycle, File Watchers gets a simple but very user-friendly feature to help reduce setup redundancy for developers working with many projects.
    • Docker - The Docker plugin now recognizes several new runtime command line options in the run configuration. Docker gets an option to specify the base directory for executing a Docker build command for a dockerfile in the Context folder field of the Docker run configuration.
  • Version Control
    • Merge Conflicts - A new Merge Conflicts node groups files with merge conflicts for each changelist, making it much easier to find them.
    • Enhanced Log tab - The Log tab of the Version Control tool window adds these improvements:
      • Open as many Log tabs as you need.
      • Quickly filter commits by your favorite branches with the Branch filter.
      • Easily delete a Git tag from a commit right from the context menu.
      • Explore the Diff Preview Panel without switching the context.
      • Monitor the state of the repository using the new Browse Repository at Revision action via the context menu, available only for Git version control.
    • Skip the Push dialog for Git - In GoLand 2018.2 you will find an option to skip the Push dialog completely when using the Commit and Push action. Alternatively, you can choose to only show this dialog when pushing to protected branches.
    • Multiple GitHub accounts - Now you can easily manage as many GitHub accounts as you need without switching between them. Just configure all the accounts you use in Settings | Version Control | GitHub, and assign the default GitHub accounts for each of your projects.
  • User Interface
    • Touch Bar support - GoLand 2018.2 provides a completely new IDE experience: run, build, debug your project, commit changes and more, right from the Touch Bar.
    • Dark Theme - You can now enjoy GoLand with darker title bars..
  • JavaScript and TypeScript
    • TypeScript improvements - Support for TypeScript 2.9 and the upcoming TypeScript 3.0 releases. Besides that, GoLand offers more quick-fixes provided by the TypeScript language service itself, such as Annotate with type from JSDoc.
    • New intentions - This update brings a lot of new intentions available via Alt+Enter. Here are just some of them: Implement interface, Create derived class, Implement members of an interface or abstract class, Generate cases for 'switch', and Iterate with 'for..of'.
    • Find unused code - With the new Code Coverage feature, you can find any unused code in your project. Start a JavaScript Debug configuration with coverage in GoLand, interact with your app in Chrome, and then stop the configuration. The report will show you what and how much code was used in each file and folder.
Go module support

GoLand

A cross-platform IDE built specially for Go developers.

GoLand is also available in:

Got a Question?

Live Chat with our JetBrains licensing specialists now.