Tons of improvements and new features

The GoLand wonderland – 2018.3 arrives with new Change Signature refactoring

Eirini-Eleni Papadopoulou
© Shutterstock / Pushkin  

Are you already in weekend mode? The weekend can wait because GoLand 2018.3 just arrived! The JetBrains team has been working hard on this one since it brings tons of changes and improvements. Let’s have a closer look.

The weekend is almost upon us but this is not the only reason for you to rejoice!

GoLand 2018.3 is here and it brings tons of new features, major updates and improvements. Since the list is truly extensive, we will only focus on the most interesting highlights.

The GoLand wonderland

New Change Signature refactoring – You can easily change their names and add, remove, reorder, and rename parameters. When you refactor a method specification, GoLand will even ask you if you want implementations to be updated as well.

Improved refactorings – The Rename refactoring gives you an insight into the potential conflicts that might be introduced by the renaming if any. Also, GoLand now highlights inlined code after applying the Inline refactoring, to help you catch what has actually happened.

Debugging GAE apps – Lets you easily run and debug Google App Engine applications locally. A new App Engine project template has been added.

Core dumps support – To create crash dumps automatically, just enter GOTRACEBACK=crash in the Environment field in the Run configuration settings. 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.

Testify support – Now you can run suites and methods as regular test functions, directly from the editor.

Code inspections – The Unhandled Error code inspection alerts you about functions or methods that return an error whenever the error isn’t being checked and the Unreachable Code inspection detects parts of code that can never be executed.

SEE ALSO: Modern development with JetBrains IDEs

Add format string argument – 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.

Generate intention actions – The Generate Constructor intention action generates functions for creating values of the struct type. What’s more, 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.

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.

Code editor – Complete Current Statement now inserts the required trailing comma automatically in any composite literals (such as struct, slice, etc.) and puts the caret on the position of the next statement. Just press Cmd + Shift + Enter on macOS or Ctrl + Shift + Enter on Windows/Linux. For more information on all the code editor updates, check out the official documentation.

Debugger updates – Provides code completion, inspections, and quick-fixes for the Evaluate Expression dialog and the Watchers panel.

GitHub Pull Requests – The new GitHub 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. To open a new tool window, select View Pull Requests in the menu VCS | Git.

Docker plugin – You can now use CLI options for the build part: in the Dockerfiles run configuration, you will find the new Build options field. For now, the following CLI options are supported: cache-fromcpu-sharescpuset-cpusforce-rmlabel,memorymemory-swapshm-sizeno-cachepullquiet, and rm.

Cassandra database support – GoLand now supports Cassandra databases.

JavaScript and TypeScript – GoLand now automatically adds imports not only for symbols defined in your project but also for symbols from the project’s dependencies. Head over to the official documentation for more information on these updates.

 You can find the full documentation here and you can download GoLand 2018.3 here.
Eirini-Eleni Papadopoulou
Eirini-Eleni Papadopoulou was the editor for Coming from an academic background in East Asian Studies, she decided that it was time to go back to her high-school hobby that was computer science and she dived into the development world. Other hobbies include esports and League of Legends, although she never managed to escape elo hell (yet), and she is a guest writer/analyst for competitive LoL at TGH.

Inline Feedbacks
View all comments