Go Newbie here: What is the recommended IDE for Go?

blov · · 1264 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>FWIW, I come from Python/Vim/Sublime world (though not great with using Vim/Sublime to their true prowess).</p> <p>Edit: I am on OSX/Ubuntu.</p> <hr/>**评论:**<br/><br/>fatcatthebrat: <pre><p>vim with vim-go is a great option</p></pre>Justinsaccount: <pre><p>It may also be worth looking at neovim + vim-go at this point. neovim can run tasks asynchronously so things like go build or go test don&#39;t block the entire UI.</p></pre>zenberserk: <pre><p>What is the current state of neovim vs vim? In terms of stability, performance, features, etc.</p> <p>Context: I am compiling vim <em>from scratch</em> at work (personal space on a shared Linux host) but it currently lacks python2/3 bindings for YouCompleteMe and similar packages. Should I consider building neovim instead?</p></pre>bketelsen: <pre><p>I&#39;ve been on neovim completely for over a year and haven&#39;t had a problem. I used YCM until recently with no problems, now use Deoplete, which is neovim smart.</p></pre>fr4nk3n: <pre><p>Same here, haven&#39;t had any problems with neovim + vim-go. </p></pre>Justinsaccount: <pre><p>From what i&#39;ve seen so far it&#39;s a drop in replacement.</p> <p><a href="https://neovim.io/doc/user/vim_diff.html" rel="nofollow">https://neovim.io/doc/user/vim_diff.html</a> is their doc that talks about the differences with vim.</p></pre>mellett68: <pre><p>I use Sublime Text with GoSublime.</p> <p>It&#39;s sublime.</p></pre>aboukirev: <pre><p>Keep in mind it uses a fork of <code>gocode</code> and lags behind the original version. I consider Go integration in Visual Studio Code (<code>vscode-go</code>) much better. But Sublime Text as a general code editor is much smoother than VSCode.</p></pre>mellett68: <pre><p>Didn&#39;t know that, thanks</p></pre>Hactually: <pre><p>I&#39;d second that - install go vet, go fmt and go lint and sublime is fantastic.</p> <p>I&#39;ve tried getting cross team adoption so we all write great code</p></pre>seiflotfy: <pre><p>I&#39;d second second that - also install gometalinter</p></pre>isxek: <pre><p>What system are you on? Windows/Linux/Mac, etc.?</p> <p>One of the recommended ones is <a href="https://github.com/visualfc/liteide">Lite IDE</a>, which runs on many systems. Personally, I&#39;m happy with Vim plus the vim-go plugin.</p></pre>karma_is_stupid: <pre><p>I am on OSX/Linux.</p></pre>webjh: <pre><p>I&#39;m on OSX/Linux as well. Using Lite IDE, considering it is free I am so far happy with it. Been using Vim with the vim-go plugin too a times.</p> <p>If you are enjoying IDEs perhaps Jetbrains CLion (<a href="https://www.jetbrains.com/clion/" rel="nofollow">https://www.jetbrains.com/clion/</a>) with the GO-plugin (<a href="https://plugins.jetbrains.com/plugin/5047?pr=idea" rel="nofollow">https://plugins.jetbrains.com/plugin/5047?pr=idea</a>) could be something. I&#39;m still to try it out, any day soon...</p></pre>junajted: <pre><p>I suggest go for idea which is free. Pycharm and intellij idea for example, they have community edition.</p></pre>nathj07: <pre><p>Atom for sure, with the go plugins</p></pre>mentalow: <pre><p>Atom with go-plus.</p></pre>theKuke: <pre><p>I second that. There is also git support, code beautify thing etc</p></pre>docoptix: <pre><p>And code coverage on save!</p></pre>kjk: <pre><p>I use Visual Studio Code with Go plugin (<a href="https://marketplace.visualstudio.com/items?itemName=lukehoban.Go">https://marketplace.visualstudio.com/items?itemName=lukehoban.Go</a>).</p> <p>Before that I used Atom with go-plus plugin and that worked too.</p> <p>Before that I used Sublime Text with Go plugin and that worked too.</p></pre>loganjspears: <pre><p>I also went from Sublime &gt; Atom &gt; VSCode. I think VSCode has the best go support out of the three text editors. I don&#39;t like its file explorer as much, but I got over that pretty quickly. Also I installed delve to get debugger support, which is pretty awesome. </p></pre>sethammons: <pre><p>I used Sublime + GoSublime + GoImports for the last few years. Yesterday I switched to Visual Studio Code. So far, it is fantastic. My favorite features: hover shows definitions and types, you can preview definitions or jump to them, and, unlike GoSublime, it analyzes source code for autocompletion (none of this read into the pkg directory and have to clean it out all the time). </p></pre>SleeplessInS: <pre><p>Yes, VS Code + Go plugin is the best Go IDE combination out there IMHO..and its free !</p></pre>ewanvalentine: <pre><p>I use go-vim, it&#39;s fantastic. Atom&#39;s also great for Go. </p></pre>mrsallem: <pre><p>when you use external imports, how do you access methods implementations ?</p></pre>Kipzy: <pre><p>in Atom? if yes, i need to know as well!</p></pre>koalainthetree: <pre><p>You can use the go-imports tool and go-plus plugin. </p></pre>Dals: <pre><p><a href="https://github.com/go-lang-plugin-org/go-lang-idea-plugin" rel="nofollow">https://github.com/go-lang-plugin-org/go-lang-idea-plugin</a></p></pre>HectorJ: <pre><p>Only problem I have with this one is <a href="https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues/1820" rel="nofollow">https://github.com/go-lang-plugin-org/go-lang-idea-plugin/issues/1820</a>, but else it works great.</p> <p>And it feels good to have all the comfort of an IntelliJ IDE</p></pre>smantziaris: <pre><p>i would go for visual studio code plus the excellent go plugin. Cross platform and with debug support (delve).</p></pre>iamxeph: <pre><p>+1</p></pre>drkaka: <pre><p>+1</p></pre>karma_is_stupid: <pre><p>Is Visual Studio Code available for OSX/Ubuntu?</p></pre>evilissimo: <pre><p>Yes it is</p></pre>qu33ksilver: <pre><p>oh wow. I didn&#39;t know that ! I thought its a Windows only thing and left it. Definitely gonna check it out.</p></pre>jussij: <pre><p>Be careful not to confuse the Visual Studio IDE with Visual Studio Code. The former is a Windows only thing.</p></pre>stroborobo: <pre><p>It&#39;s essentially a fancy Atom, btw, so yes </p> <p>EDIT: <a href="https://en.m.wikipedia.org/wiki/Electron_(software_framework)" rel="nofollow">Visual Studio Code is not built on Atom, but on Electron, which used to be called Atom Shell.</a></p></pre>DigitalDolt: <pre><p>Atom and VS Code are both built on Electron. VS Code is not built on Atom.</p> <p>For some reason, VS Code is <em>way</em> faster than Atom.</p></pre>stroborobo: <pre><p>You&#39;re right! Electron used to be called Atom Shell, must&#39;ve mixed that up, sorry. I was just talons about that a few days ago with someone and he confirmed that when I asked, so I was pretty sure about it.</p> <p><a href="https://en.m.wikipedia.org/wiki/Electron_(software_framework)" rel="nofollow">https://en.m.wikipedia.org/wiki/Electron_(software_framework)</a></p></pre>Niriel: <pre><p>Pals, mind explaining why this is getting downvoted? I know neither Atom nor Visual Studio so I don&#39;t get it.</p></pre>FIuffyRabbit: <pre><p>You&#39;ll notice that nearly every post will get downvoted at least once or twice in this sub. </p></pre>stroborobo: <pre><p><a href="https://atom.io" rel="nofollow">Atom</a> is an editor built with web technologies, not an IDE. So Visual Studio Code is merely an editor with a few plugins, not that much of a large IDE like it&#39;s big brother Visual Studio, which is quite a few gigabytes these days. (And VS is made by Microsoft, great for C# and stuff)</p></pre>hugthemachines: <pre><p>Liteide is very nice for a beginner, it is also very easy to get everything working, which is always a plus so you don&#39;t get stuck in getting plugins to work properly.</p></pre>cube2222: <pre><p>Intellij Idea + go plugin</p></pre>Artemis2: <pre><p>Your favorite. A simple text editor goes a long way, you&#39;ll just want syntax coloration and auto formatting for your code. There are excellent plugins for Vim and Sublime, but also for Atom, Visual Studio Code, and even IntelliJ IDEA.</p> <p>My point is, you don&#39;t need to switch editors for Go, just use the ones you are familiar with, which most likely have decent support for Go with plugins.</p></pre>bketelsen: <pre><p>vim with vim-go is my &#34;go-to&#34; choice, but Visual Studio Code is really nice if you want something with a proper GUI.</p></pre>Ironballs: <pre><p>Emacs + <a href="https://github.com/dominikh/go-mode.el" rel="nofollow">go-mode</a> + <a href="https://github.com/alecthomas/gometalinter" rel="nofollow">flycheck-gometalinter</a></p></pre>aliem: <pre><p>Vim, Emacs or both (spacemacs)</p></pre>jringstad: <pre><p>emacs with gometalinter works pretty great -- it runs all the available go linters on your buffer in the background on idle or with a configurable timeout. Integrates also with auto-complete, powerbar and gofmt.</p></pre>rberenguel: <pre><p>emacs+evil is what I count as both... Roll your own set of packages ;)</p></pre>aliem: <pre><p>So True!</p> <p>But I&#39;m too lazy to learn Emacs from scratch (but I&#39;ll do it one day). Anyway spacemacs&#39; modules are quite nice to work with. </p></pre>Snavelzalf: <pre><p>For some Fun prototyping I use Atom with go-plus. For more serious projects Intelij idea + Go plugin</p></pre>heptara: <pre><p>Are you asking for a FULL IDE?</p> <p>If yes then JetBrains has a Go plugin for IntelliiJ. I don&#39;t know of any other full IDEs that support Go, but there are plugins for major editors like Visual Studio Code and Atom.</p></pre>_nefario_: <pre><p>i had been programming python with pycharm for so long, so i&#39;ve been using the Go plugin since i know all the shortcuts already. the breakpoints are a bit strange, but i think overall its pretty solid <a href="https://plugins.jetbrains.com/plugin/5047?pr=idea" rel="nofollow">https://plugins.jetbrains.com/plugin/5047?pr=idea</a></p></pre>binaryblade: <pre><p>Anything you want.</p></pre>izuriel: <pre><p>I&#39;m not saying this to be a dick, but this question appears about once a week or every other week. Just do a google search when looking for this stuff. </p> <p>That being said -- your better off sticking with your guns. If you say you use vim and sublime but not &#34;to their best&#34; then what makes you think you&#39;ll find an IDE that&#39;s brand new that you&#39;ll be able to use. Every piece of software will produce a learning curve. It&#39;s the nature of having different options. </p> <p>Now I ramble. I use Atom. Before that I used Sublime. And before that I used to hunt &#34;for the best IDE for X&#34; but when I say back and really <em>examined</em> what features I liked I settled on a simple plug and play editor (at the time Sublime). I love sublime but prefer Atom now just because it&#39;s open source, and unlike most every other sublime user I&#39;ve met I have a license for it. I chose Atom/Sublime because I favored simplicity. IDEs do <em>too much work</em> for me that I didn&#39;t ask it too. Some people want that. I don&#39;t. I want syntax highlighting and line numbers. My two required features to edit code. </p> <p>You need to assess what vim and sublime <em>don&#39;t</em> do and determine if your willing to try and find plugins for them to do those things and stick with those tools -- or limit your overall pivot ability by locking yourself into a larger more specialized toolset. It&#39;s only a bad thing if you want to be something other than a X developer your tool specializes. </p></pre>weberc2: <pre><p>As someone who programs in Python/Vim in my day job, I think you&#39;ll really come to appreciate any text editor with gocode integration. I recommend vim + vim-go; the &lt;C-x&gt;&lt;C-o&gt; autocomplete is fantastic compared to what you get in any Python IDE.</p></pre>Olideya: <pre><p>Atom hasn&#39;t let me down yet :)</p></pre>royevangelista: <pre><p>try vim + vim-go</p></pre>tucnak: <pre><p>yeah ignoring decades of UX development, sounds like a rational piece of advice!</p></pre>shovelpost: <pre><p>If decades of UX development lead to IDEs that need 3 minutes to start then we might as well.</p></pre>tucnak: <pre><p>IDEs I am using are blazingly fast, can you make a single point of using GNU vim in 2016?</p></pre>mosquit0: <pre><p>In 2026 you wont use your IDE but vim will be around. </p></pre>tucnak: <pre><p>I&#39;m afraid you&#39;ll die of Vim-caused cancer much earlier than 2026</p></pre>mosquit0: <pre><p>I won&#39;t because I&#39;m not using it more than necessary. But I see its use cases.</p></pre>tucnak: <pre><p>Good for you. Cheers mate</p></pre>FootbaII: <pre><p>Do you know that majority of core developers of Go write code in vim? Do you know that vim is one of the most popular editors for developers? Can it be because vim is ubiquitous, very light weight, is crazy fast for code editing once you learn how to efficiently use it, has plugins to make it do basically anything? Or it&#39;s more likely that all those vim users are simply irrational (like you said)?</p></pre>tucnak: <pre><p>Yeah I&#39;m fully aware that vim is the biggest overrated scam of CS world. Fanks tho, &#34;irrational&#34; is the word I had been looking for.</p></pre>our_face: <pre><p><a href="https://www.jetbrains.com/phpstorm/" rel="nofollow">https://www.jetbrains.com/phpstorm/</a> + <a href="https://plugins.jetbrains.com/plugin/?idea&amp;id=5047" rel="nofollow">https://plugins.jetbrains.com/plugin/?idea&amp;id=5047</a></p> <p>Intellij make a great product which you must pay for. It pays my rent.</p> <p>I tried Atom when it was new and it was too buggy/crap. Maybe more mature now and it&#39;s free.</p></pre>relvae: <pre><p>IDEA community is free fyi</p></pre>DualRearWheels: <pre><p>LiteIDE is first one I tried for Go and never wanted to look for alternative. Compared to IDE-s for other languages it is top notch: blazing fast, simple enough and has all features I need.</p></pre>yassirh: <pre><p>I have tried Atom with the <a href="https://atom.io/packages/go-plus" rel="nofollow">go-plus plugin</a> and now VS code with the <a href="https://github.com/Microsoft/vscode-go" rel="nofollow">VS go plugin</a></p> <p>The latter has a partially implemented debugger which looks promising.</p></pre>farslan: <pre><p>There is no recommended. Nowadays we have many great Go support for almost all editors. First pick up the editor you feel the most comfortable and then pick up the plugin (if not installed already) and start using it. </p></pre>tiberiousr: <pre><p>Vim + vim-go. Check out <a href="http://vim-bootstrap.com/" rel="nofollow">vim-bootstrap.com</a>, it auto-generates a vimrc with a great plugin set that gives you excellent syntax highlighting, baked in git support, VimShell, language support for whatever languages you want (including Go obviously) and it&#39;s capable of updating itself.</p></pre>glassf1sh: <pre><p>gotools is basically an IDE without a GUI, so it&#39;s compatible with every text editor out there that supports plugins which is clever. I wish more language did that instead of writing 50 IDEs with 49 not maintained (looking at you javascript). Typescript does that too BTW, the IDE is a command line tool making it compatible with everything. So the question isn&#39;t really relevant.</p></pre>hugthemachines: <pre><p>Does the editors (vim, atom, sublime) with plugins show things in real time like if you code in eclipse with java and it says &#34;variable defined but not used&#34; or something like that. Like little warnings.</p></pre>lhxtx: <pre><p>Vim and emacs can for golang. There are syntax checkers available. Never used atom. </p></pre>gaoxiang_ian: <pre><p>I have tried sublime text, vim, liteide, idea, spacemacs. And I think visual studio code with go plugin has best go support. </p></pre>MakerOfThings: <pre><p>I use vim. It has a bit of a learning curve, but I can use it for all languages on all platforms. It makes for a really consistent programming experience and lets me focus on the work rather than the environment.</p> <p>Showing my age a bit here, but I also like to use GNU Screen to manage multiple editor windows.</p></pre>weberc2: <pre><p>I use tmux... I don&#39;t have one associated with age more than another FWIW.</p></pre>dlsniper: <pre><p>If you are coming from Python then go with PyCharm. It will help you with Python as well as Go. Or try any other IDE from JetBrains, they are all cross-platform and all support Go (even Android Studio does so) </p></pre>thewhitetulip: <pre><p>VsCode + luke hoban&#39;s go plugin is the best by far</p> <p>But it all rests with your comfort level with the IDE</p></pre>junajted: <pre><p>You have more options: sublime text + gosublime, visual studio code + vscode+go, atom + go+, &lt;cool editor&gt; + &lt;go plugin for editor&gt;. I&#39;ve played with the first three and they are good to me.</p> <p>Even jetbrains offers golang support in term of a plugin (go-lang-idea-plugin). as of ide: inteillij and pycharm have community edition (free).</p> <p>I personally use sublime text options.</p></pre>F41LUR3: <pre><p>I just downloaded visual studio code + that go extension on your mention. It&#39;s not exactly sublimetext... but it isn&#39;t missing much. It&#39;s like I&#39;m back in my old C# days. To have intellisense and go to definition back..... mouse over definition peeking.... VISUAL DEBUGGING. We&#39;ve finally made it...</p></pre>stepan-mitkin: <pre><p>DRAKON Editor now supports Go <a href="http://drakon-editor.sourceforge.net/" rel="nofollow">http://drakon-editor.sourceforge.net/</a></p></pre>SportingSnow21: <pre><p>If it&#39;s not emacs, are you really programming? </p></pre>hockeyhippie: <pre><p>I use Eclipse + the Go plugin under Ubuntu. You&#39;ll need to download the latest Eclipse directly because Ubuntu lags a lot there.</p></pre>Yojihito: <pre><p>Eclipse IDE best IDE.</p></pre>lhxtx: <pre><p>Vim with vim-go or emacs with go-mode. </p></pre>DigitalDolt: <pre><p>One great thing about Go is the wonderful tooling. Godef, godoc, gocode, goimports, etc...</p> <p>Any IDE or text editor with Go support uses these tools. So pick whichever you like.</p></pre>FUZxxl: <pre><p>I don&#39;t use an IDE. It&#39;s not needed for Go development and I don&#39;t feel it adds anything that would justify using one.</p></pre>weberc2: <pre><p>Man, you caught a lot of hate for this comment. I&#39;m guessing it&#39;s because you misunderstood the OP&#39;s meaning of &#34;IDE&#34;?</p></pre>FUZxxl: <pre><p>What do you think OP means with the term IDE then?</p></pre>weberc2: <pre><p>I think he means it generically as a tool used for editing source code, in which case any text editor would be encompassed. I&#39;m interpreting him this way based on the fact that he specifically mentioned that he came from a &#34;Python/vim&#34; background, which seems to imply that vim satisfies his definition of IDE.</p></pre>FUZxxl: <pre><p>Then why didn&#39;t he say editor in the first place? The term IDE has a specific meaning and “editor” isn&#39;t the meaning of IDE.</p></pre>weberc2: <pre><p>I agree that he was a little ambiguous, but all natural language varies in ambiguity. It&#39;s a fundamental characteristic of natural language.</p></pre>p7r: <pre><p>You don&#39;t need an IDE. Nobody needs an IDE.</p> <p>Vim/Sublime is fine, and what you know. A quick google indicates <a href="https://github.com/fatih/vim-go" rel="nofollow">good vim plugin support for Go</a></p> <p>Atom is excellent.</p> <p>Everybody here suggesting Visual Studio Code might well be trolling.</p></pre>jatsrt: <pre><p>So, I&#39;m trying to follow the logic that because people are talking about it, it must be trolling. Look at the history of posts to the Go reddit. VSC was mentioned a few days back. That is when I first even knew it existed. Until then I had tried Sublime but had settled on Atom. </p> <p>VSC with the debugger support is very nice and in the past week I have switched. Like many others, because of the recent mention of it. </p> <p>In the future, someone will post another editor/IDE that is &#34;new&#34; and I may switch again. </p> <p>Trolling? </p></pre>dhdfdh: <pre><p>There is no recommended IDE. Use the one that suits you best.</p></pre>tucnak: <pre><p>Let&#39;s see. With Go we&#39;ve got a couple options: it&#39;s VSC (VS Code), Atom, Sublime, Vim or Acme. Since you didn&#39;t bother searching through the sub, apparently ou are a real newbie to programming. Vim doesn&#39;t fit — it&#39;s some old-fashioned rubbish for either old farters or posers. Unless you are Plan9 nut, Acme is not your choice. Sublime is dying legacy, run away from. Oh, btw, don&#39;t touch LiteIDE, it&#39;s a bloody joke.</p> <p>VSC and Atom left. Both open sourced, both look good. I ain&#39;t got no chance to take a close look at VSC, yet I&#39;m aware it has debugger support.</p></pre>karma_is_stupid: <pre><blockquote> <p>Since you didn&#39;t bother searching through the sub, apparently ou are a real newbie to programming</p> </blockquote> <p>What the hell.. </p></pre>tucnak: <pre><p>don&#39;t you see it through?</p></pre>lhxtx: <pre><p>In what world would a non-newbie programmer say that vim is rubbish? Vim is incredible if you take the time to learn it. </p></pre>tucnak: <pre><p>It&#39;s not. Unless you&#39;re an old fart or wanna look cool.</p></pre>lhxtx: <pre><p>I completely disagree. And your tone about it, even if you don&#39;t like it, shows that you&#39;re ignorant about what it can do. </p> <p>Don&#39;t knock it until you learn it. </p></pre>tucnak: <pre><p>Well, I learnt it years ago and has been running Vim-mode errywhere ever since. I&#39;m not against Vim practices, I&#39;m totally against wanking in terminal all day.</p></pre>lhxtx: <pre><p>Then why are you against Vim?</p></pre>tucnak: <pre><p>Uhm?!</p></pre>lhxtx: <pre><p>Uhm what? Are you not a native English speaker?</p></pre>tucnak: <pre><p>I told you the precise reason in the last comment: I&#39;m not into wanking in terminal all day and I don&#39;t think it&#39;s yhe way to go in 2016. As I said, unless you wanna look classy.</p></pre>lhxtx: <pre><p>Gvim, macvim, etc. You don&#39;t have to be in a terminal if you don&#39;t want to...</p></pre>drvd: <pre><p>Your brain. Nothing else. Any editor is okay.</p></pre>favadi: <pre><p>Try using Microsoft word. </p></pre>

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1264 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传