What's the best IDE for golang?

34,755 views
Skip to first unread message

farah

unread,
Feb 24, 2014, 2:59:10 AM2/24/14
to golan...@googlegroups.com
I'm new with go, and i'm looking for the best IDE, i'm thinking about intellij or LiteIDE,
what's the best  between them or do you have any other suggestion?
thank you!

Jan Mercl

unread,
Feb 24, 2014, 3:19:13 AM2/24/14
to farah, golang-nuts
I have the other suggestion: if you want to be productive, don't use
IDEs. For me nothing can beat a vim + terminal combo. (Maybe emacs,
but I don't speak klingon ;-)

-j

Aviv Laufer

unread,
Feb 24, 2014, 3:23:11 AM2/24/14
to golang-nuts, farah, Jan Mercl
vim+zsh+tmux
I wrote a short blog post about my go dev environment http://bit.ly/1bsKWyw
Aviv
> --
> You received this message because you are subscribed to the Google Groups "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

farah

unread,
Feb 24, 2014, 3:25:50 AM2/24/14
to golan...@googlegroups.com


I forgot to mention that i'm using windows

Markus Zimmermann

unread,
Feb 24, 2014, 3:44:27 AM2/24/14
to golan...@googlegroups.com

刘鑫

unread,
Feb 24, 2014, 3:48:30 AM2/24/14
to farah, golan...@googlegroups.com
I use emacs write anything. But editor is't IDE. 
A perfect for Golang? I think that need a beautiful editor, code jump, auto code format and 
a smart debugger GUI. 

But I'm not found a IDE done these. I use LiteIDE only a project browser. Use a friendly Editor, I 
write code smooth at last before a power IDE been created.


2014-02-24 16:25 GMT+08:00 farah <jaziri...@gmail.com>:


I forgot to mention that i'm using windows

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--

……

劉鑫·矮人工匠
Mars Liu @ Dwarf Artisan

minux

unread,
Feb 24, 2014, 4:04:52 AM2/24/14
to farah, golang-nuts
On Mon, Feb 24, 2014 at 3:25 AM, farah <jaziri...@gmail.com> wrote:
I forgot to mention that i'm using windows
some high profile Go users find Acme really good for writing Go
if the user is wiling to write some programs.

Note: some call Acme an integrating (as oppose to integrated) development
environment, that is, powerful enough for everything, but you need to make
that happen.

Similarly, Vim and Emacs provides a more traditional environment, but
the user needs to do some configuration depends on what you want.

Acme, Vim and Emacs all have Windows version. (Acme-SAC even bundles
the whole Inferno environment, so you have shell and everything.)

PS: Though I don't expect someone coming from Windows background to
switch to any of the three. It's usually not what he wants (zero configuration,
just works).

Gerard

unread,
Feb 24, 2014, 4:22:49 AM2/24/14
to golan...@googlegroups.com
Well, certainly not *the best* nor an *IDE*, but for windows, i would suggest Notepad++.


On Monday, February 24, 2014 8:59:10 AM UTC+1, farah wrote:

Gerard

unread,
Feb 24, 2014, 4:24:19 AM2/24/14
to golan...@googlegroups.com
... and the command prompt.

Péter Szilágyi

unread,
Feb 24, 2014, 6:02:14 AM2/24/14
to Gerard, golang-nuts
You might also give Sublime Text + GoSublime a spin. It's a very powerful combo and does just about anything you would need.


--

Erwin

unread,
Feb 24, 2014, 6:04:04 AM2/24/14
to Péter Szilágyi, Gerard, golang-nuts
I second Sublime Text + GoSublime, plus terminal

Sean Russell

unread,
Feb 24, 2014, 7:01:43 AM2/24/14
to golan...@googlegroups.com, farah, Jan Mercl
On Monday, February 24, 2014 3:23:11 AM UTC-5, Aviv Laufer wrote:
vim+zsh+tmux
I wrote a short blog post about my go dev environment http://bit.ly/1bsKWyw

+1

--- SER

Andrei Simionescu

unread,
Feb 24, 2014, 10:40:50 AM2/24/14
to golan...@googlegroups.com
For now you have 3 main options (you'll still have to use a terminal like Cygwin or Git Bash to use the go command for building/running programs):
  • Notepad++ with syntax highlighting for Go
  • Sublime Text 2 or 3 with GoSublime
  • IntelliJ with the Go plugin (go-ide.com)
but you would probably become a better programmer if you'll switch to linux/osx and learn either emacs or vim, they both support golang well.

Fred McCann

unread,
Feb 24, 2014, 11:22:06 AM2/24/14
to golan...@googlegroups.com
I’m a fan of TextMate + one of the golang bundles. 


--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
signature.asc

Nate Finch

unread,
Feb 24, 2014, 11:47:19 AM2/24/14
to golan...@googlegroups.com
You don't need a linux terminal to use the go tool on Windows. The standard Windows command prompt works just fine.

Daniel Theophanes

unread,
Feb 24, 2014, 12:02:12 PM2/24/14
to golan...@googlegroups.com

Konstantin Khomoutov

unread,
Feb 24, 2014, 12:35:29 PM2/24/14
to Nate Finch, golan...@googlegroups.com
On Mon, 24 Feb 2014 08:47:19 -0800 (PST)
Nate Finch <nate....@gmail.com> wrote:

> > For now you have 3 main options (you'll still have to use a
> > terminal like Cygwin or Git Bash to use the go command for
> > building/running programs):
[...]
> >
> You don't need a linux terminal to use the go tool on Windows. The
> standard Windows command prompt works just fine.

I would add that Console [1] and ConEmu make the console experience on
Windows much better while still being slim native Windows applications
without dependency on compat layers like Cygwin.

1. http://sourceforge.net/projects/console/
2. http://sourceforge.net/projects/conemu/

voidlogic

unread,
Feb 24, 2014, 2:42:24 PM2/24/14
to golan...@googlegroups.com
I'd second LiteIDE, I use it 40-60 hrs a week and it works very well.

Brian Reed

unread,
Feb 24, 2014, 6:37:51 PM2/24/14
to golan...@googlegroups.com
I like Geany - ubuntu simple ide / editor. 

Chris McGee

unread,
Feb 24, 2014, 9:03:50 PM2/24/14
to golan...@googlegroups.com
There's also godev.

> godev
open your web browser to 127.0.0.1:2022

Chris


On Monday, February 24, 2014 2:59:10 AM UTC-5, farah wrote:

Ulrich Schreiner

unread,
Feb 25, 2014, 4:06:09 AM2/25/14
to golan...@googlegroups.com
you could try the browser-based carpo (https://github.com/ulrichSchreiner/carpo), there is a pre-built linux 64bit binary. it should work on windows too, but i never tested it (i don't have windows). take a testdrive (with FF or chrome please) at

https://developer.planetary-system.org (sorry, selfsigned cert acceptance and google-auth required)

the debugger is currently a little unstable :-). 

szep...@gmail.com

unread,
Feb 25, 2014, 5:23:58 AM2/25/14
to golan...@googlegroups.com

 Eclipse + https://code.google.com/p/goclipse/ Works fine ;)

tike

unread,
Feb 25, 2014, 5:36:00 AM2/25/14
to golan...@googlegroups.com
May I shamelessly plug my Notepad++ plugin for go development:

available from the Notepad++ Plugins-Manager: GOnpp  Version 1.0
or http://sourceforge.net/projects/gonpp/ for GOnpp Version 1.1

Thanks!

tike
--

JussiJ

unread,
Feb 25, 2014, 7:41:27 AM2/25/14
to golan...@googlegroups.com
On Monday, February 24, 2014 7:25:50 PM UTC+11, farah wrote:

I forgot to mention that i'm using windows

Zeus is a Windows based IDE and is has support for Go: http://www.zeusedit.com/go.html

It has Go tool support and does the standard syntax highlighting, code completion, class browsing, code folding, debugging etc.

It can also be configured to work with the gocode auto-complete daemon.

NOTE: Zeus is shareware, runs natively on the Windows platform and can be run on Linux using Wine.

Jussi Jumppanen

Author: Zeus IDE
 

Florin Patan

unread,
Feb 26, 2014, 5:10:20 AM2/26/14
to golan...@googlegroups.com
First of, instead of thinking try them and see what you like better.

Now, even if some believe that IDEs are bad and that programming in some random notepad / text editor makes you a good programmer, there's nothing bad in using good tools to get your job done, so do try them all if you want.

As for which is better, a biased view of course, is that, while IntelliJ plugin has some issue, both the current version and (especially) the upcoming better are much better that what you'll get from the others :) I mention just the inspections which allows you to intercept errors in function parameter types before you run your app (which granted should be much smarter but it's still better then nothing, right?). And in the upcoming version we'll support debugging via GDB and Go AppEngine integration out of the box without needing to hack your GOPATH and so on like for other editors. We support a lot of things that simply you won't find in others and the IntelliJ platform supports a lot of good features such as HTML/CSS/Javascript editing on an excellent level, so if you plan to use go for web development.

Also, you can use the free version of IDEA and have a completely free dev environment or if you already use IDEA Ultimate, PHPStorm, WebStorm or other IDEs from JetBrains you just need to install the plugin. And when you find a bug, please just report it here and help us making it better: https://github.com/go-lang-plugin-org/go-lang-idea-plugin.

But like I've said, give it a try and just use what you like, not what others think it's the best because it's the best for them, not for you :)


Kind regards

Disclaimer: I'm one of the core contributors to the IntelliJ plugin (in case I wasn't clear so far :D)



On Monday, February 24, 2014 8:59:10 AM UTC+1, farah wrote:

Jan Mercl

unread,
Feb 26, 2014, 5:30:29 AM2/26/14
to golang-nuts
On Wed, Feb 26, 2014 at 11:10 AM, Florin Patan <flori...@gmail.com> wrote:
> Now, even if some believe that IDEs are bad and that programming in some
> random notepad / text editor makes you a good programmer

Probably no one believes that.

What some might be stating is that using a _code_ editor (which
notepad has nothing to do with), like for example vim, emacs and
others, makes them more productive than using any IDE. It's a
personal, non transferable experience. Also, no kind of belief is
involved in it.

Oh, and yes. Not having some IDE features makes you think more about
some design choices and _can_ thus make you a better programmer. But I
think the causality of this is usually the other way around ;-)

Dijkstra is famous also for his opinion that exposure to BASIC is
irreparable[0]. In my experience, I'd say the same about VS.

[0]: http://en.wikiquote.org/wiki/Edsger_W._Dijkstra

-j

Jesper Louis Andersen

unread,
Feb 26, 2014, 6:21:06 AM2/26/14
to Florin Patan, golang-nuts
On Wed, Feb 26, 2014 at 11:10 AM, Florin Patan <flori...@gmail.com> wrote:
First of, instead of thinking try them and see what you like better.

+1

You will have to try using a tool for some time before you begin to appreciate it. If you are just starting out, you may find that notepad.exe is quite adequate at handling Go. The language is not built in a way where you need a lot of editor-support to be productive.

Once you determine you like Go, then you can begin looking into getting a tool which better support your style of development. It would look like there are as many options as there are programmers here. Programmer productivity is a highly individual thing!

(I use plan9port and Acme for all my development nowadays, but I used vim, nvi, Emacs, and Eclipse earlier).


--
J.

Peter Nguyen

unread,
Feb 26, 2014, 12:06:41 PM2/26/14
to golan...@googlegroups.com, Florin Patan
So what is the pros with Acme? Seems like quite a few gophers use them from what I saw at FOSDEM. Besides multiwindows, does it has key mappings like vim or emacs?

Joseph Poirier

unread,
Feb 26, 2014, 12:13:27 PM2/26/14
to Jan Mercl, golang-nuts

-j

lmao; John Carmack is known to use VS and he seemed to do just fine... 

Mathieu Lonjaret

unread,
Feb 26, 2014, 12:15:02 PM2/26/14
to Peter Nguyen, golang-nuts
Apart from basic shortcuts like ^a, ^u, etc, no.
Most computers have a mouse, so we just use it.

http://research.swtch.com/acme

Francisco Souza

unread,
Feb 26, 2014, 12:24:11 PM2/26/14
to Mathieu Lonjaret, Peter Nguyen, golang-nuts
On Wed, Feb 26, 2014 at 2:15 PM, Mathieu Lonjaret
<mathieu....@gmail.com> wrote:
> Apart from basic shortcuts like ^a, ^u, etc, no.
> Most computers have a mouse, so we just use it.
>
> http://research.swtch.com/acme

laptops don't have mouses.

Mathieu Lonjaret

unread,
Feb 26, 2014, 12:43:30 PM2/26/14
to Francisco Souza, Peter Nguyen, golang-nuts
I'm very sorry for you and your laptop then.


On 26 February 2014 18:24, Francisco Souza <f...@souza.cc> wrote:
> On Wed, Feb 26, 2014 at 2:15 PM, Mathieu Lonjaret
> <mathieu....@gmail.com> wrote:
>> Apart from basic shortcuts like ^a, ^u, etc, no.
>> Most computers have a mouse, so we just use it.
>>
>> http://research.swtch.com/acme
>

Nico

unread,
Feb 26, 2014, 12:49:14 PM2/26/14
to golan...@googlegroups.com
The middle button in my mouse is sadly broken.

Rob Pike

unread,
Feb 26, 2014, 12:50:45 PM2/26/14
to Francisco Souza, Mathieu Lonjaret, Peter Nguyen, golang-nuts
Computers do.

-rob

Gerard

unread,
Feb 26, 2014, 12:59:39 PM2/26/14
to golan...@googlegroups.com, Florin Patan
Here is an Acme demo. It's different, but powerful. A three button mouse (not a wheelmouse) is required however.

joseph...@gmail.com

unread,
Feb 27, 2014, 3:15:34 AM2/27/14
to golan...@googlegroups.com
Hi all

I'm a go lang total newbie and I'm as well looking for the proper development tool. One thing I would love to have is auto completion : do all the editors discussed above provide it ? Or some of them ?

Thanks in advance

Best
joseph

Peter Nguyen

unread,
Feb 27, 2014, 10:01:06 AM2/27/14
to golan...@googlegroups.com, joseph...@gmail.com
Most editors above provide completion by using the https://github.com/nsf/gocode package.

oju...@gmail.com

unread,
Feb 27, 2014, 10:48:59 AM2/27/14
to golan...@googlegroups.com
IDEs bring a lot o bad habits, like to adopt long names, just because the autocompletion will type it for you.

Like you guys I feel perfectly at home using command line tools, VI, makefiles and GDB, but a large part of programmers worldwide wouldn't touch a new language with a pole if it doesn't have at least a half decent IDE. Are they right or wrong? It doesn't matter. What does matter is people live in a real world, where there is productivity expectations on coding, debugging, navigating large codebases. The availability of high quality IDEs is a MUST if you want a programming language to become mainstream.

To our friends that work hard to bring IDEs to the realms of Go: thank you very much.

Peter Nguyen

unread,
Feb 27, 2014, 10:57:51 AM2/27/14
to golan...@googlegroups.com, oju...@gmail.com
Well, there is code autocomplete in vim, emacs too...

A good IDE is one that helps the developer be more productive.

Matthew Zimmerman

unread,
Feb 27, 2014, 11:07:21 AM2/27/14
to oju...@gmail.com, golang-nuts
On Thu, Feb 27, 2014 at 10:48 AM, <oju...@gmail.com> wrote:
> IDEs bring a lot o bad habits, like to adopt long names, just because the
> autocompletion will type it for you.

Descriptive names help bring code clarity. Yes, overly verbose long
names are not helpful but I'd much rather see checkingAccount than ca
or even account as a variable name. As a code completion lover, it's
nice when gocode finishes checkingAccount for me.

Benjamin Measures

unread,
Feb 28, 2014, 6:54:29 AM2/28/14
to golan...@googlegroups.com, oju...@gmail.com
On Thursday, 27 February 2014 16:07:21 UTC, Matthew Zimmerman wrote:
Descriptive names help bring code clarity.  Yes, overly verbose long
names are not helpful but I'd much rather see checkingAccount than ca
or even account as a variable name.

That example sounds too much like the variable has been named after its type rather than its instance. I'd probably name it something like src or dst.

Having to type this makes one think about it each time. If it's well-named then it'll be less jarring -- that is to say the identifier given context is unambiguous. The key is that humans are pretty good at context.

So for example, given context, the following is pretty clear:
bank.Transfer(src, dst, amount)

If lazy about naming, code-completion can facilitate/perpetuate this:
bank.Transfer(checkingAccount1, checkingAccount2, euroAmount)

That's not to say that code-completion can't relax length considerations for better names but, by (unintentionally) delegating thought about context, the programmer is underutilising something they're good at (as humans) and likely to "encode" too much information in the identifier (ignoring context).

RickyS

unread,
Feb 28, 2014, 7:25:39 AM2/28/14
to golan...@googlegroups.com, joseph...@gmail.com
The autocompletion from gocode works well in Sublime-text 3.  I run it on Ubuntu linux.
The only problem with Sublime-text on linux is that you can't drag text with the mouse. 
I keep on hoping this will be fixed.

If you are writing code to run on a server, then it's easier for you to use an OS just like your server.

   R

Sam Harwell

unread,
Mar 1, 2014, 1:53:24 PM3/1/14
to joseph...@gmail.com, golan...@googlegroups.com

Hi Joseph,

 

If auto-completion is your feature of choice, you should check out GoWorks. The code completion implementation in it is unique to that IDE, and was written from the ground up for speed and accuracy.

http://tunnelvisionlabs.com/products/demo/goworks

 

Thank you,

Sam Harwell

 

Disclaimer: I’m the author of GoWorks.

--

Wes Freeman

unread,
Mar 1, 2014, 3:57:28 PM3/1/14
to Sam Harwell, joseph...@gmail.com, golan...@googlegroups.com
Hi Sam,

Kudos on the context-aware completion and "intellisense"-like stuff in GoWorks. It is really excellent. Screenshot for those who haven't seen it in action:

Inline image 1

I gave it a try a few months ago, but couldn't stick with it because of the way projects work. I usually keep all of my projects in a .../gocode/src/github.com/wfreeman/ folder. The only way to add those projects to GoWorks is to sort of make them their own workspaces, which isn't how I usually manage my projects. 

I was disappointed that you haven't continued working on it!

Wes

Sam Harwell

unread,
Mar 1, 2014, 5:25:20 PM3/1/14
to Wes Freeman, joseph...@gmail.com, golan...@googlegroups.com

Hi Wes,

 

Thanks for the feedback and screenshot.

 

The goal with the current project detection was to eliminate the requirement that users take special steps to configure or create a special “project” for the IDE. If you could go into more detail about how you have your project structured, I could probably update the detection algorithm to work better with it.

 

1.       Can you give a more detailed description of your working directories, as well as the relative paths from your working directory to any dependencies which are not part of the Go standard library?

2.       What is the working directory where you compile your code? What commands do you execute to compile the code? Where is the output placed?

 

Thanks,

Sam

Joseph Pachod

unread,
Mar 1, 2014, 5:33:32 PM3/1/14
to golan...@googlegroups.com
Thanks all for the answers :)

Sam, regarding GoWorks, could you clarifiy if it's still developed ? What about long term licensing/plan ?

Thanks again

Best
joseph

Sam Harwell

unread,
Mar 1, 2014, 6:24:30 PM3/1/14
to Joseph Pachod, golan...@googlegroups.com

Hi Joseph,

 

While it’s not being actively developed right now, I have a great deal of interest in ensuring the current feature set remains usable for the majority of Go projects currently being developed. If some characteristic of it is not currently usable, I don’t mind putting in more time to make sure that gets addressed.

 

Without a corporate sponsor for the project, I don’t anticipate changing the licensing for the product (free, but closed source). I’m in the process of migrating all of my NetBeans extensions (including ANTLRWorks 2 and GoWorks) to distribution through the NetBeans Plugin Center for NetBeans 7.4 and higher. This simplifies the distribution and maintenance for me since the standalone build will no longer be dependent on a custom build of NetBeans (as it is currently). This transition should be complete prior to the NetBeans 8.0 release; until then the standalone release of GoWorks will continue to work.

 

I have made the following changes since Preview Release 7:

 

·         I continued to improve performance and reduce memory usage of the background parser.

·         Improved auto-indent support, especially in parenthesized blocks, e.g. import ( … )

·         Added a Stop button to the Run window, and improved the progress bar display for build/run operations.

 

I spent some time working on a debugging implementation, but progress is extremely slow. I have very high standards regarding quality and performance before adding a feature to an IDE. For example, to meet these requirements in my Java debugger, I completely bypassed the JDWP used by virtually every other Java debugger and wrote my own communication layer directly on top of the JVM TI. The result vastly outperforms every other debugger I have ever used in Java (e.g. high-speed single-stepping through a program even with toString() evaluation enabled in the locals window). So far I have been unable to produce a similar experience for Go, but I remain hopeful that I’ll find a way to make it happen.

 

Thanks,

Sam

Wes Freeman

unread,
Mar 1, 2014, 6:42:03 PM3/1/14
to Sam Harwell, joseph...@gmail.com, golan...@googlegroups.com
It is a good goal--I like that there's no .project file or equivalent, I just think it's too picky about what a project is (I never have a src/ folder in my projects).

My project is typically just a single level folder within the workspace, for example: https://github.com/wfreeman/uci maps to /Users/wfreeman/gocode/src/github.com/wfreeman/uci

There's an env variable: GOPATH=/Users/wfreeman/gocode 

Within gocode/src/, all of my current projects and their dependencies are, each of which have their own git repo.

When I run "go get github.com/someuser/somelibrary" it knows to install it in the same structure under /Users/wfreeman/gocode/src/github.com/someuser/somelibrary.

Perhaps the slick way to do it would be to allow people to select projects from their GOPATH variable's structure. Short of that, allowing me to just select any folder as a project would be good enough.

From the project directory (/Users/wfreeman/gocode/src/github.com/wfreeman/uci), I run things like "go build", "go test", or sometimes I like to go into a subfolder and run the tests there like "cd subpackage; go test" to test a subpackage. It would be nice to be able to configure the run/test command, but that's not a game breaker.

I'm pretty sure I'm doing this the "normal" way, although it did take me a while to settle on this workflow. http://golang.org/doc/code.html

Wes

Sam Harwell

unread,
Mar 2, 2014, 12:34:07 AM3/2/14
to Wes Freeman, joseph...@gmail.com, golan...@googlegroups.com

Hi Wes,

 

I did a bit of experimenting with this directory structure today, with the following results.

 

1.       GoWorks recognizes “/Users/wfreeman/gocode” as a project with a package structure like the following. I did not need to set the GOPATH environment variable because GoWorks always configures that variable according to the location of the “project” you open.

2.       GoWorks is not able to run the “go get” command. It needs to be able to do this, and it would be helpful if it brought up a balloon by the progress bar to inform you of that requirement if you open a project where dependencies are missing (such as your uci project, where uci_test.go relies on launchpad.net/gocheck).

3.       If you right click on a specific package, you can click Compile Package to compile only that package.

a.       I need to add an additional command Test Package to the same menu. Currently the Test command can only be executed against an entire project at once.

b.      I need to add internal commands like Compile Current Package and Test Current Package that you can bind to a keystroke, allowing you to execute “go build” or “go test” while you are editing a file.

 

Would the changes mentioned above suffice for your needs? Is there any reason why you wouldn’t be able to open the gocode folder as a project? If the concern is simply the number of packages you now have, what about if you had commands “Treat as Library” and “Treat as Source Package”, where you could (for example) right click on “github.com.jordan-wright.email” and click “Treat as Library” to instruct GoWorks to show that package under the Libraries folder instead of the src folder. This feature could even be configured to automatically place any package obtained using “go get” as a library until the “Treat as Source Package” command was run on it.

dv...@everything.me

unread,
Mar 2, 2014, 4:27:39 AM3/2/14
to golan...@googlegroups.com
The IDEA (IntelliJ) plugin for go has been going throught rapid progress lately, and it is becoming the best IDE for go by far. Configuring the paths is still a bit clunky, but an unstable build from the mast works for me, including:
1. code completion
2. automatic go-fmt
3. decent gdb integration
4. jump to source, including the standard library
5. integrated console is always handy for stuff not covered by the commands of the IDE.

again, the stable build is not as good, but if you build the latest master, it has all this and works great for me. I've switched to using it  instead of Sublime this week.

Wes Freeman

unread,
Mar 2, 2014, 9:31:48 AM3/2/14
to Sam Harwell, joseph...@gmail.com, golan...@googlegroups.com
Those ideas would definitely be improvements--I did try opening gocode, and that's how I originally tried it, but none of the compile/test commands worked (which is why you mention 3-a,b). When I open my current gocode, I get ~300 packages opened in that src tree (it expands all subpackages). Of those, ~20 are my projects/subpackages. Having to go through and right click to tell it to move the 280 or so to libraries would be mildly annoying even if I could multi-select them--would it save this selection somehow? 

I think I would rather have it let me select a package below the GOPATH as a project, and detect what dependencies it needs to treat as libraries for that specific project somehow. Wishful thinking?

At this point, I don't even mind needing to run "go ..." commands in the shell (I do that now, and edit in vim), though it would be nice if there were keyboard shortcuts to do the common ones. My biggest issue was with the project handling.

Wes

Sam Harwell

unread,
Mar 2, 2014, 11:45:24 AM3/2/14
to Wes Freeman, joseph...@gmail.com, golan...@googlegroups.com

The most troublesome item I’m facing is the implementation of ProjectFactory.isProject(directory). NetBeans expects this operation to return true if the directory is recognized as a project by your project system (in my case, a Go project). When you open a .go file and right click on the editor tab and select “Select in Projects”, it looks at each parent directory of the file until it finds one where isProject returns true.

 

Obviously it would be possible to instruct the IDE to treat each directory containing .go files as its own project. However, this would leave two extra challenges:

 

1.       Currently GoWorks does not rely on the user to configure the GOPATH environment variable. To the contrary, GoWorks sets the value of this variable for the current process based on the location of your project. This decision is motivated by the fact that Windows-friendly applications should never require a user to understand or manipulate environment variables. If every folder containing .go files was treated as a project, import statements for packages that are not part of the standard library would not resolve.

2.       Typically an “application” is a combination of the standard library of some set of additional packages. When the user opens a project, GoWorks should automatically locate the dependencies which are not part of the Go standard library.

 

I’m going to experiment with the following approach, and hopefully you can let me know how it works for you.

 

1.       Implement isProject by saying a project is any folder containing .go files that also has an ancestor named “src”. This way, the GOPATH for the project can be automatically set to the folder containing the src folder, but you also have the ability to open a single package in isolation.

2.       For any “import” statements in the project that do not resolve to a standard library module, show them as entries under the “Libraries” node for that project. If the package is not currently on disk under the expected src folder, show an exclamation mark on the icon for the node and provide a context menu entry to “Get Package” (which runs go get). The Libraries node itself could also include a new menu item “Get Missing Packages” to perform the go get operation on all missing packages.

Michael Whatcott

unread,
Mar 2, 2014, 11:40:17 PM3/2/14
to golan...@googlegroups.com
Save us JetBrains!! Can't wait until they come out with their flavor of IDE but with full support for Go.

devi...@gmail.com

unread,
May 15, 2014, 11:39:36 AM5/15/14
to golan...@googlegroups.com
Yes please JetBrains!  We need a good Go IDE

del...@gmail.com

unread,
Nov 4, 2014, 5:03:59 PM11/4/14
to golan...@googlegroups.com
There is a plugin for brackets called "go-ide". It uses go code to autocomplete.

Yang Fan

unread,
Nov 4, 2014, 8:13:25 PM11/4/14
to devi...@gmail.com, golang-nuts
JetBrains always produces HEAVY IDEs.

--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Regards,
Fan Yang

Carlos Merchán Carmona

unread,
Nov 22, 2014, 4:48:01 AM11/22/14
to golan...@googlegroups.com
The best IDE is LiteIDE
Good debugger with GDB
Autocompletation code
Made for Go Lang


El lunes, 24 de febrero de 2014 08:59:10 UTC+1, farah escribió:

Mitranim Forgo

unread,
Nov 22, 2014, 1:11:58 PM11/22/14
to golan...@googlegroups.com
+1 from me for Sublime Text 3 + GoSublime. Has the perks of an IDE (automatically scans your and imported files to provide contextual autocompletion and type hints, lints your code) without the bloat of an IDE.

horrido...@gmail.com

unread,
Nov 22, 2014, 8:25:50 PM11/22/14
to golan...@googlegroups.com
Thumbs up to LiteIDE, too. It's my preferred tool.

Kiswono Prayogo

unread,
Nov 25, 2014, 3:16:04 AM11/25/14
to golan...@googlegroups.com, horrido...@gmail.com
best native: LiteIDE X24 (not yet tried the latest version, "go to declaration" still doesn't work)
best web-based: Wide ("go to declaration" works, color theme not yet customizable)

IntelliJ + go plugin 0.9.16 alpha5 (6 hours ago, still buggy, error at installation, complete color customization)
komodo edit + komodo go (24 days ago, currently downloading)
Eclipse CDT 8.4.0 + Goclipse 0.9.1 (27 days ago, too big to download for my bandwidth)

btw, is there any IDE that gives autocomplete, also with its documentation? (similar to Eclipse or Delphi)

Carlos Carcamo

unread,
Nov 25, 2014, 10:02:07 AM11/25/14
to Kiswono Prayogo, golan...@googlegroups.com, horrido...@gmail.com
> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

What about Atom?

--
"El desarrollo no es material es un estado de conciencia mental"

lgnhm8...@gmail.com

unread,
Dec 16, 2014, 6:13:33 AM12/16/14
to golan...@googlegroups.com, szep...@gmail.com
go to declare seems not working for me..

在 2014年2月25日星期二UTC+8下午6时23分58秒,szep...@gmail.com写道:


W dniu poniedziałek, 24 lutego 2014 08:59:10 UTC+1 użytkownik farah napisał:
I'm new with go, and i'm looking for the best IDE, i'm thinking about intellij or LiteIDE,
what's the best  between them or do you have any other suggestion?
thank you!

 Eclipse + https://code.google.com/p/goclipse/ Works fine ;)
Reply all
Reply to author
Forward
0 new messages