Gogland EAP 12: Navigate to Test, Running Directories, Inline Variable, and More

After only a week since our EAP last update, we’re ready to do it again! Meet fresh EAP build, packed with improvements and bugfixes.

We keep adding new refactorings. This time it’s Inline for variables, available via Ctrl+Alt+N (Cmd+Alt+N for macOS):

We’ve added inspection that warns you when you misuse a range clause, e.g. a number of variables doesn’t match the range parameter:

Navigation capabilities have also been extended with a new feature: Go to Test/Test Subject. When the caret is at a method name, press Ctrl+Shift+T (Shift+Cmd+T for macOS) and Gogland will take you to the corresponding test method. Press the same shortcut again to get back.

If there are multiple matching test methods, you will be prompted to select the one you need to go to.

Among other improvements worth mentioning is that Go Application Run Configuration now supports running directories.

Last, but not least, is the fact that the update fixes many bugs:

  • Windows installer wasn’t signed
  • Incorrect type comparison for structs with included pointer-type structures
  • The Project Wizard didn’t allow to create projects with no SDK specified
  • Incorrect cache invalidation
  • Incorrect type aliases highlighting
  • Debugger related issue (solved by updating to a newer Delve version)
  • The IDE didn’t resolve “vendored” libraries located under GOPATH in some cases
  • More…

Give this update a try and share your feedback with us. Bug reports are very welcome in our issue tracker.

Develop with Pleasure!

 

Posted in EAP, New Features | 1 Comment

Gogland EAP 11: Faster Indexing, Extract/Inline Constant, IntelliJ Platform 2017.2, and More

Following the recent release of IntelliJ IDEA 2017.2, we’re happy to announce a new Gogland EAP. In addition to many new platform features (VCS and JavaScript), it comes with lots of improvements specifically for Go.

First of all, we’ve changed the way Gogland indexes libraries inside GOPATH: non-Go files are now ignored, which, depending on your workspace, might make indexing up to twice as fast.

Also, the refactorings family now includes two more members: Extract a Constant and Inline a Constant:

Annoying issues have been fixed:

  • Create Function quick-fix sometimes created functions in a wrong source package
  • The binary wasn’t retained in the output directory after the Run Configuration finished
  • The Debugger stuck on Evaluating when after clicking View to see full content of a variable
  • VCS commits occurring before the Go fmt option (in the Before Commit section) has finished its work

And of course, the update brings the new platform features from IntelliJ Platform 2017.2:

  • Version Control
    • New Git Log actions: Revert and Reword.
    • The new settings let you customize rules applied to commit messages: a blank line between subject and
      body, and the maximum length. Also, there’s a quick fix and the Reformat action inside Commit Message.
    • Shelf tab has been reworked for better performance and ergonomics.
  • Find in Path
    • Preview panel now has a Gutter (a left-hand pane like that in the editor) with line
      numbers, navigation icons, and local change markers.
    • Search results from the same lines are now merged together.
  • Windows 10 native UI
  • Improved HiDPI support
  • JavaScript & TypeScript
    • Parameter Hints and Type Info
    • Rearrange Code
    • Move refactoring (across ES6 modules)
    • CSS modules, better Webpack support, code coverage for Mocha, etc
  • The indexing process now can be paused, e.g. if you need your CPU power for an urgent task.
  • Excluding files from search results and indexing by a filename/directory pattern.

Note, due to certain changes, patches aren’t available for this update.

Give the new EAP build a try, and share your feedback with us. Bug reports as always are welcome in our issue tracker.

The Drive to Develop!

Posted in EAP, New Features | Tagged | 14 Comments

Gogland EAP 10 is Out: Go 1.9, Better Remote Debugger, and More

Previous EAP build, released a couple of weeks ago, introduced remote debugging capabilities. However, this feature had a number of limitations:

  • Breakpoints didn’t work if file paths didn’t match layout of the project (e.g. if app was running on Linux and the Gogland instance from which you invoked debugger—on macOS), which happens quite often when you’re trying to remotely debug something in a Docker container.
  • Breakpoints could only be set before starting application (local debugging also had this issue).

We’re happy to announce that both of these issues have been resolved in Gogland EAP 10 that is just published today.

Along with these improvements, it comes with support for Go 1.9, and in particular, its type aliases:

Speaking of the changes you may notice visually, Gogland now displays the Run icon in the gutter area of editor for Scratch Files:

And finally, this update brings numerous bugfixes.

Give this EAP build a try by either updating from Gogland (use Check for Updates action), or via Toolbox App, or just by downloading it from website.

Your feedback, as always, is very appreciated in our issue tracker.

Develop with Pleasure!

Posted in EAP, New Features | Tagged , , | 8 Comments

Webinar Recording: Migrating to Gogland from a Code Editor: Tips & Tricks

In case you’ve missed it, last week we had two great events. First, we held a wonderful webinar with Brian Ketelsen and Florin Pățan on migrating to Gogland from a code editor. Second, we released a new EAP build that among other things brings remote debugging capabilities and better performance.

The webinar may be interesting to you if you have a lot of experience with editors and never had a deep look at Gogland before. Brian, as a heavy user of many code editors (including Code and Vim), shared his experience: both good and bad. Florin, as a more heavy IDE user, showed the benefits an IDE (and Gogland in particular) offers comparing to the editors. Also, Florin and showed quite a lot of useful tips and tricks: things that help you be a more productive with Go.

For those who missed the webinar, here’s a recording:

If you don’t want to watch the whole video (which is a bit more than 1 hour), use the following links to jump to the most interesting part:

Please enjoy the video, and don’t forget to give a try to the update we released last week.

Develop with Pleasure!

Posted in Webinars | Leave a comment

Gogland EAP 9 is Available

It’s been a while since the last Gogland EAP, but here we are: Gogland EAP 9 is finally ready, bringing lots of bugfixes and several new features.

First, we’ve added remote debugging support. All it needs is that you set up a Go Remote run configuration with and tell it which Host and Port to connect to and make sure the application you’re going to debug is launched with Delve.

When you start that run configuration, you’ll see the good old Debug tool window:

Layout of log files can be adjusted to your liking:

And then displayed in the Run tool window when you run the application:

Also, the update brings two new inspections:

  • Misplaced fallthrough statements.
  • Functions without body.

And here’s a couple more things to look at:

  • The Go SDK is now selected automatically when you import a project
  • Better startup speed and overall performance
  • Configuration related to imports (sorting, exclusion) is now stored on the project level
  • A number of bugfixes for auto-imports and imports sorting

Please give a try to the new build and share your feedback via our issue tracker.

Develop with Pleasure!

Posted in EAP, New Features | Tagged | 3 Comments

Gogland EAP 8 is Available

Hooray! Fresh Gogland EAP 8 is here, packed with improvements, bug fixes, and things that are just really cool. Get it from our website, via patches, or from Toolbox App.

Postfix Completion, which you may be familiar with from Java and JavaScript support in IntelliJ IDEA and WebStorm, is now available for Go:

The list of supported templates is available in Settings | Editor | General | Postfix Completion:

If you need a suggestion that’s not included here, please add your suggestion it to GO-3796.

There’s also a new inspection that reports redundant boolean expressions and offers a quick-fix that simplifies them:

The new Context Info action (available from View in the main menu or via Alt+Q for Windows/Linux or Ctrl+Shift+Q for macOS) shows the current method or class declaration when it is not visible:

The built-in spell-checker now reports typos in string literals and helps to fix them:

The debugger has also been improved in a number of ways, including bug fixes. Delve has been upgraded to 1.0.0-rc.1, which among other improvements adds support for LLDB on macOS.

Improvements in the editor include better formatting, inspections, completion, performance, and more.

You may also find these platform improvements useful:

  • Better font rendering on Linux
  • Find in Path usability
  • Manual columns reordering in Git Log

The built-in JRE has been updated. For the complete list of changes there, see the release notes.

Last but not least, if you’re using Gogland, you can now also switch to the nightly builds of the Go plugin. All it takes is registering “https://plugins.jetbrains.com/plugins/nightly/9568” as a Repository URL in Settings | Plugins | Browse repositories | Manage repositories.

This pretty much sums up all the goodies in this EAP. Please give it a try and share your feedback with us. Both bug reports and feature requests are welcome in our issue tracker.

Develop with Pleasure!

Posted in EAP, New Features | 3 Comments

Nightly Builds of the Go Plugin for IntelliJ IDEA and Other IDEs

As you may already know, Gogland‘s functionality is now available as a plugin for IntelliJ IDEA, Android Studio and other JetBrains IDEs. Note that the plugin requires the IDE to be v2017.1 or higher version.

New versions of the plugin will appear along with (or right after) new Gogland EAP releases. For those who’d like to have access to the most recent changes and new features, we offer a channel with nightly builds of the plugin.

To receive nightly versions of the plugin, please register “https://plugins.jetbrains.com/plugins/nightly/9568” as a Repository URL in Settings | Plugins | Browse repositories | Manage repositories.

Develop with Pleasure!

Posted in News | 9 Comments

Gogland EAP 7: Faster Completion, Package Rename, 2017.1 Platform Features, Plugin, and more

Following IntelliJ IDEA 2017.1 released earlier today, a fresh EAP build for Gogland EAP 7 becomes available, bringing you more bugfixes and new features.

First of all, Debugger improvements.

Run to cursor action that resumes code execution and stops at a given line is now available both via shortcut and from the menu.

Breakpoints now support Conditional expressions that let you define conditions under which they will be hit:

Data representation inside Variables, Watches, Evaluate Expression, Inspect and inline information is improved: it displays nested objects, supports arrays, etc.

Also, the update brings several new intention actions, that let you add an alias for an import statement and replaces all usages accordingly:

And to invoke go generate for a generated comment at the caret:

The “err” live template has been improved and now it is aware of the error variables within the scope:

In Settings | Editor | General | Code Folding the IDE offers two new options (off by default): One line returns and One line panics. These options fold single-line if statements with return and panic statements inside to a more compact syntax:

We’ve merged changes from IntelliJ IDEA 2017.1 that include all the platform improvements and new features, the most notable of which is the reworked Find in Path dialog, that now provides instant preview of the sought text and lets you jump to any result with Enter:

Another area of the platform improvements is JavaScript support, and it includes dozens of changes:

And, of course, many small, but important Go improvements:

  • Faster Code completion
  • Rename and Find usages for packages, imports and qualifiers
  • Validation of canonical import paths
  • File Rename now renames the corresponding test file as well
  • Highlighting and filtering generated files in Find usages/Refactorings according to the proposal
  • Bugfixes in the Formatter, Inspections, Refactorings and Completion

Last, but not least, we’re happy to announce the availability of the Go plugin for IntelliJ IDEA Ultimate and other paid IDEs which provides the functionality equal to Gogland.  Read the FAQ to see how it differs from the third-party plugin.

Note that there’s no patch update available due to the migration to IntelliJ Platform 2017.1.

That’s it for today. Feel free to give the new EAP build a try right away and share your feedback with us through the comments as well as the issue tracker.

The Drive to Develop

Posted in EAP, New Features | 9 Comments

Gogland EAP 163.12024.20 is Out

Great news, everyone! Please welcome a freshly-baked EAP build, with more improvements and bugfixes. The new build can be downloaded from our website, without any forms and emails.

Major improvements include:

  • C syntax highlighting in injected fragments

  • Formatting with gofmt or goimports when saving files
  • Default location for new projects is now correct
  • Improved Implement interface action: it doesn’t add already existing methods; suggests only interfaces
  • Inspection for private fields with tags
  • Create function quick fix is available when functional types are expected
  • Adjusting import paths when renaming directories

For more details, see to the release notes.

Develop with Pleasure!

 

Posted in EAP, New Features | 4 Comments

Gogland EAP 163.10615.22 Adds Parameter Name Completion

Holidays are finally over, and now it’s time to get back to work so we’ve prepared a fresh Gogland EAP build for you to download and try.

In addition to bugfixes, the new build features improved code completion features with Parameter Name Completion:

Gogland EAP participants can get this build via Check for Updates command right from the IDE. Everyone else have to sign up for the EAP, and then receive the download links via email.

If you haven’t heard of Gogland before, check out its official website and FAQ.

Develop with Pleasure!

Posted in EAP, New Features | 12 Comments