Go Support in komodo IDE

For a new user, it’s pretty daunting to determine how to implement source-level debugging of golang executables in Komodo X. One question would be, “Where’s the documentation for Komodo X?” I am trying to grasp the menu system for X while reading documentation that is, what, two revs old? But more specifically I would love it if you guys would create a one page list of what to grasp from the golang repositories, where to put it, and how to implement breakpoints and variable inspection in Komodo X for go. Is that unreasonable?

Thanks,
Kaymac

Not unreasonable at all. Expect an update on our docs site in the not so distant future.

Fwiw the high level is somewhat explained here:

And note that we currently do not support Go for debugging, as Go debugging is still in its infancy.

Hi, as far as I know, we do not have any documentation on creating debug clients, and you may be the first person to ask for any. Fortunately, I have created a few debug clients recently, so I may be able to help you along the way. Check out this blog post, which gives a very high-level overview of creating one: http://komodoide.com/blog/case-study-lua-debugging-in-komodo/. You should be able to do something similar with Go.

Well, I’m sorry to hear that because I looked at an image of a go program running inside Komodo that showed me source-level debugging, line numbers, break points and all that and figured it was a supported feature.

On another level, you may not realize that there is no Mac-platform product that I can find that does offer source-level debugging for go. Maybe VisualStudio for pc users… This is disappointing to me, because I’m just not a good enough experienced enough go programmer to be comfortable without breakpoints and variable value inspection, so I will have to muddle along to solve my problem. But the point is, it represents a commercial opportunity, IMHO.

I found the Lua example while searching for Komodo IDE-related debugging stuff. I then went looking at Lua, to discover that it isn’t the solution to my relatively simple text processing needs. However, I’ll carefully re-read your comments on the blog, and thanks for suggesting it to me.

That said, code completion and syntax highlighting are valuable features in the support of any language in a program editor, and I would still feel that a one pager telling the user community how to do that in Komodo IDE would be a great help. I’ve got directories holding executable versions of geocode, godef, and would be able to fetch godocs if I knew where and how to link their functionality into Komodo.

Where did you see this? I’m guessing you saw a different language, cause we definitely do not support Go debugging atm, and we certainly didnt “fabricate” any screenshots to make it seem that we do.

This is simply because as I said, Go debugging is still in its infancy. For the longest time you could not debug Go at all. There are some solutions starting to pop up now but they all still seem very experimental. We’d want to commit to something stable for Komodo as developing and maintaining debugger integration is a lot of work.

That is a very good point, we’ll continue to monitor the situation around Go for sure.

For sure! As I said we’ll be doing this in the not so distant future.

Just to be clear, and in case someone reads this with some critical bias, I have to report that I did not find an example of komodo IDE using go in debug mode when I looked back into my prior history. My mistake.

But on another front, I continue to feel that if you advertise golang as one of your primary languages (see komodoide.com, listing as supported languages Python, PHP, Go, Perl, Tcl, Ruby, NodeJS, HTML,CSS, JavaScript …) If Go exists in that list, you probably should have supplied syntax coloring and code completion as part of the off the shelf product. I know, it’s the marketing department, but you guys aren’t exactly large enough for the marketing department to run the show. I know you’re pressed, documentation lags are common, and I hope you won’t take offense.

If you want to get code completion for Go, see these instructions:

I agree it should work out of the box though.

Thanks. I had run across that note in Komodo/komodo-go while researching this issue, and thought it might be version 9-specific and taking those steps might corrupt the version X. Good to know that it can still apply. I’ll follow the steps.

Hi @kayak,

We do if you have a properly configured environment. Golang has a VERY specific configuration setup. None of the other languages will work out of the box if they are not configured properly on your system. In other languages like Python, this is as simple as having Python on your system PATH. Go is not that simple.

This boils down to docs which @nathanr has already acknowledged above.

  • Carey

This got sorted out some time back, and I have been using the product successfully.

@kayak,

The point I addressed did not get sorted from what I read. It’s a valid point to make with the comments your are making about Komodo.

  • Carey

I just installed a second Komodo license on another machine, for Go development. Somehow the process of getting an .xpi file was more complicated than I remembered, and the instructions at https://github.com/Komodo/komodo-go could be more helpful if revised. I hadn’t recalled the process as being as complicated as I found it. but in the end it worked, and now I have two Komodo instances that support syntax checking in Go.Of course, what I’d really like is debugging support, of which Nathan says, “It’s way too complicated an update to contemplate at this time.” I imagine Go is far less important than Python or Javascript, which to me is a surprise because I find Go far more attractive than either of those.

Is there a standard protocol/project for debugging in Go? There are different libs, but none of them has been applied as the “official” one as far as I know. That’s why there’s no debugging for Go.

I know what I wanted, and what I was accustomed to in the other language I’m fluent in. I wanted the tools (for my current environment, the Mac) to set breakpoints, examine the state at a stopping point (principally, the current values of variables and the ability to find the values pointed to by variables, maybe set expressions to stop on, that sort of stuff). I regard that as garden variety IDE and I can’t find it for the Mac. Maybe Visual Studio permits you to do that in Go, but I’ve given up my PC environment and am not looking forward to going back to it.

You do not need an XPI. That code has been integrated with Komodo builds. Just follow the Requirements section of the readme and you’ll be set: GitHub - Komodo/komodo-go: Komodo extension to add Go lang support

We want this for you too! :smiley: To clarify, we do not MAKE the debugger. We create an interface that USES the debugger that comes with languages. Currently there is no stable Go debuggers. Maybe this blog post will clarify the issue: Go has a debugger—and it's awesome!
Note the first line in the blog “Something that often, uh… bugs Go developers is the lack of a proper debugger”.
The debugger that that blog is getting excited about has since been abandoned (last commit was a year ago and doesn’t support the latest version of Go). We cannot work with tools that get abandoned by the community: GitHub - mailgun/godebug: DEPRECATED! https://github.com/derekparker/delve

We will have this tool as soon as we can! We want you to have this stuff too! But it doesn’t exist yet :slight_smile:

I hope that clarifies what was already said by @nathanr.

I think we’re all done with this thread right?

  • Carey

Guess so. Thanks.