Roadmap

What’s next: GoLand 2019.3 roadmap

Three weeks ago we released GoLand 2019.2 with function calls support in the debugger, enhanced color schemes, customizable Postfix Completion templates, smarter Go Modules and dep integration, quick-fixes based on the Change Signature refactoring, and many other new code editing features. We also added support for Shell scripts and Kustomize for Kubernetes, as well as support for the new features of Go 1.13.

If you haven’t checked out these new features yet, visit our what’s new page for the detailed description, GIFs, and screenshots.

We would like to say THANK YOU to the people who help us further improve GoLand by sharing their product experience, feedback, and suggestions with us.

The most active evaluators are getting a free 1-year subscription for GoLand and a special edition of our branded T-shirt!

Meet these wonderful folks:

  • Roland Illig (YouTrack username: roland.illig)
  • Sergey Savenko (YouTrack username: deadok22)
  • Max Neverov (YouTrack username: nmax)
  • Denis Cheremisov (YouTrack username: sirkon)
  • Andrey Sokolov (YouTrack username: falconandy)
  • Gabriel Nelle (YouTrack username: nelle)
  • Mike Schinkel (YouTrack username: mikeschinkel)

GoLand 2019.3 Roadmap

Please note we don’t guarantee that all of the features below will be included in GoLand 2019.3.

Long story short, the GoLand 2019.3 update will be a little different from our previous releases. We realized that since GoLand’s first release, when it turned from a plugin for IntelliJ IDEA into an independent IDE, we’ve been adding more and more new features and extending the existing functionality in many different ways. Now it’s time to exhale and look around.

For this release period, our primary task is to fight bugs, glitches, unexpected behavior, and eliminate anything confusing. We believe that GoLand should bring you, our users, only pleasant experience and be your trustworthy helpmate in the Go world.

However, we couldn’t resist but add something new. Let’s have a look at our plans!

Remote development

We’ve already announced it for 2019.2, but then we realized that things were more complicated than we’d expected and it’d take more time to launch it with the same quality as other features in GoLand. We couldn’t let you down.

This isn’t a promise, but may we just say we are working on it and doing our best to provide you with support for remote developing via Docker in the upcoming release.

Performance

We will work on performance issues, including faster startup time and project indexing, as well as reducing CPU consumption and making search for implementations quicker and more precise.

Go Modules

GO-7572 — We’ll fix the usability problem with the Terminal tool window when you are working on multiple projects which use Go Modules.

GO-7407 — We’re going to present the names of Go Module packages in a clearer and simpler way in the Project View.

Debugger & Test Runner

— The debugger will be polished and given a good clean-up.

GO-6493 — We’ll fix the problems with the Test Runner tab will display test results in the debug mode.

Quick-fixes

We are planning to add a bunch of quick-fixes to:

— Invert condition

— Split if

And quickly resolve problems with:

— Multiple-value used as single-value context

— Mixed named and unnamed parameters in functions

Code Completion

GO-2857Smart Code Completion for arguments of the new() and make() calls.

Intention Actions

GO-7099Join string literals intention action.

GO-6262Add method will add a method in the interface and in all implementations.

GO-6599Convert variable to return parameter intention.

GO-6371Split into 2 if intention.

GO-6275 — Intention Replace if-else with switch.

GO-6561Unexport intention.

GO-6566 — Existing intention action Export will work on global variable and constants.

Code Inspections

GO-3378 — Possible errors will be more easily discoverable even if the file with them is closed. We will add red underscoring in the Project and Structure views.

GO-4888 — The Bool condition code inspection from the Declaration redundancy inspections group will be fixed not to not warn about using const booleans.

GO-7596 — GoLand will reduce the highlighting scope of code inspections to a particular problematic place to help you effortlessly invoke available quick-fixes or intention actions.

— The go vet inspections will get quick-fixes. In addition, we will add missing go vet inspections and provide quick-fixes for them as well.

GO-2179 — We’’ll add a new error code inspection, which will notify about pointer method called on a non-pointer type.

Code Editing

— In GoLand 2019.3 there will be more correlation between Code Formatter and gofmt rules.

— Such foldings as one line returns, one line panics, format strings will be enabled by default. Until GoLand 2019.3 is released, you can do it manually in the Preferences/Settings | Editor | General | Code Folding.

— We will make the rune literal lexer less restrictive, so GoLand wouldn’t highlight a valid rune literal as an error after editing.

GO-2217 — Improvement for parsing of string literals.

— GoLand will suggest more accurate names and provide you with extra control in several specific cases.

GO-7089Complete Current Statement and Smart Enter will work correctly with loops and condition statements.

GO-6296Generate Constructor will place one field per row when using more than one field.

GO-5406 — GoLand will escape a string in a double-quoted string on pasting and unescape on copying from it.

General

The first time you open the IDE, it will offer you to configure everything you need for a smooth experience.

That’s all!

BTW, the ideas for improvements often come directly from the feedback we get from our users. Send your feature requests to us via our bug tracker or tweet to us at @GoLandIDE. Thank you!

image description