What is currently the best IDE?

agolangf · · 760 次点击    
这是一个分享于 的资源,其中的信息可能已经有所发展或是发生改变。
<p>I have been using LiteIDE for a while, but want to know if there are any better, more feature rich IDE&#39;s for Go.</p> <hr/>**评论:**<br/><br/>j_d_q: <pre><p>I use vim with vim-go, and I have found them to do everything I need</p></pre>borring: <pre><p>Yeah, it&#39;s mind-blowing how amazing vim-go is. Fatih should be paid to work on it full-time. Good stuff.</p></pre>PacNinja: <pre><p>Make it happen: <a href="https://www.patreon.com/fatih">https://www.patreon.com/fatih</a></p></pre>SSoreil: <pre><p>I&#39;m currently experimenting with Gogland by Jetbrains, it has it&#39;s issues but is much closer to a full traditional IDE than LiteIDE is.</p> <p>Note that Gogland is in a pre release state.</p></pre>eighthCoffee: <pre><p>What issues have you ran into? Indexing big gopaths during startup is a pain but I haven&#39;t noticed any bugs since it came out</p></pre>dlsniper: <pre><p>Indexing GOPATH should be a one time operation, and if you disable the Javascript / nodejs support, or other languages plugins it should be even faster. If it&#39;s not something that happens only once after install / upgrade to a new version / installing a new language plugin or updating one then it sounds like a bug. </p> <p>But in any case, please send up a bug report here <a href="https://youtrack.jetbrains.com/issues/Go" rel="nofollow">https://youtrack.jetbrains.com/issues/Go</a> following the information here: <a href="https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems" rel="nofollow">https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems</a> and someone will have a look at it as performance is something that the developers are really keen to have. </p></pre>eighthCoffee: <pre><p>You may be right. I&#39;ve just started gogland for the first time in couple days and got the background indexing job.</p> <p>Next restarts it did not index it again. Maybe there is some expiration for that index? I don&#39;t remember updating it (and I certainly never update without restarting). Disabling the javascript plugin trigerred the index on restart as you said.</p></pre>SSoreil: <pre><p>Strange behaviour when completion text when there is already some new text after it. It often will eat up components of names. For instance if I have a customer.ID and I then try and complete a word before that it will eat up customer. Annoying handholding for imports. Turns out I have some packages installed with an errors package inside them. This makes Gogland ask me for which errors I want. It would be nice if it auto assumed I wanted a standard library one.</p> <p>The type information(documentation) display is lacking. I would like a better usage of GoDoc.</p> <p>There were other things I can&#39;t remember off the top of my head. The poor performance and battery life and things that are the biggest issue for me. I like to write Go for fun and I&#39;m often on a pretty slow tablet thing device when writing Go. I have to fall back to Vim in those cases.</p></pre>dlsniper: <pre><p>I can&#39;t speak for all the issues as I&#39;ve not seen most of them but it would be really appreciated if you could help the developers by opening a few bug reports so that they at least are aware of the issues. The issue tracker is here <a href="https://youtrack.jetbrains.com/issues/Go" rel="nofollow">https://youtrack.jetbrains.com/issues/Go</a></p> <p>Regarding the autoimporter, the way it works is that it cannot assume what you want to use so that it cannot make mistakes like using math/rand instead of crypto/rand (some other editors users might be familiar with that). You can disable, per project, a list of packages, see Settings | Go | Completion. </p> <p>Regarding the type information, can you please explain a bit more? For me, the View | Quick Documentation, (CTRL+Q on Windows / Linux), always shows up the type of the element, and depending on the selection, it can show you the way the variable gets initialized for example. There&#39;s also a dedicated shortcut for the type only, View Expression type (CTRL + SHIFT + P on Windows / Linux), which allows you to obtain the type of the selected expression. Finally, View | Quick Definition (CTRL + SHIFT + I) allows you to quickly see the whole code that defines the expression under the cursor without leaving the current file.</p> <p>Regarding the poor performance, please file a report using the information in this article <a href="https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems" rel="nofollow">https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems</a> There are some performance enhancements shipping in the next EAP, EAP 8,which should be out in a couple of weeks, maybe that will improve something for you as well?</p> <p>Hope it helps.</p></pre>christomich: <pre><p>Another Gogland user here. I&#39;m a full time Go developer and was using the Go plugin with IntelliJ before Gogland was release. As a result some of the issues mentioned here are &#34;features&#34; (the same happens in IntelliJ unfortunately) e.g. eating up component names during auto-completion. There are some bugs at the moment but I rarely encounter them in my daily use.</p> <p>In terms of the auto-complete for the package imports I actually prefer it asking as, in my case for example, I use github.com/pkg/errors instead of stdlib errors and so this kind of behaviour suits me fine.</p> <p>You can customise and turn on/off a lot of different settings. My advice is to just give the pre-release a try while it&#39;s free and the time limit is generous (unlike the 30 day trials for the released software like IntelliJ). It&#39;ll give you a good indication of whether you like it enough to actually purchase a license when it&#39;s fully released.</p></pre>Ouzmonsta: <pre><p>I currently use Visual Studio Code with the Go plugin and I swear by it. </p></pre>gutierri: <pre><p>What&#39;s good (to program in GO) VSCode compared to others? Enough people (public) are using.</p></pre>Ouzmonsta: <pre><p>I feel that it&#39;s more lightweight than big IDEs but doesn&#39;t sacrifice in useful features. Intelisense and the integrated terminal are a huge plus. I don&#39;t have to leave the IDE to play with the terminal. It does these things without being too bulky. </p></pre>adelowo: <pre><p>Doesn&#39;t VSCode use Electron (which is known to be heavy)</p></pre>Ouzmonsta: <pre><p>Yeah but as shown <a href="https://blog.xinhong.me/post/sublime-text-vs-vscode-vs-atom-performance-dec-2016/" rel="nofollow">here</a> it does so slightly more efficiently than something like Atom (which I also use just not for go). I&#39;ve used both and I could tell the slight difference. Where my &#34;lightweight&#34; statement stems from is compared to something like any of the JetBrains IDEs (which I also use just not for go). There&#39;s definitely a difference there. I also feel like the VSCode UI is less cluttered and clean. It reminds me of Sublime but with much better code completion for Go and a nice integrated terminal. </p></pre>adelowo: <pre><p>Oh nice, i would try it out this weekend</p></pre>dlsniper: <pre><p>Have you tried Gogland? It&#39;s a very slim IDE, from JetBrains, but compared to IDEA it&#39;s focused only Go and as a result is a lot more snappier and resource friendly.</p></pre>Hactually: <pre><p>I tried gogland and found it pretty heavy going on the resources and loading projects took a lot longer than vscode</p></pre>dlsniper: <pre><p>I&#39;d be happy to hear more about it if you have some time to share the experience and some data / logs to help figure this out. From my tests Gogland uses just a bit more memory than VSCode but that&#39;s on Windows, not sure about other OSes. Thank you.</p></pre>JackOhBlades: <pre><p>Using Gogland on my MacBook Pro 2015 was unusably slow. Typing was delayed, memory usage was huge, lots of stuttering, battery drain was hefty. (When you turn off the smart features it doesn&#39;t stutter but at that point it&#39;s just a text editor).</p> <p>VSCode has been much smoother in my experience. Still far amounts of memory usage and non trivial battery drain, but I&#39;ve found it far more to my liking over Gogland for responsiveness reasons. </p></pre>dlsniper: <pre><p>Could you please spare a few minutes to file a bug report following the steps here: <a href="https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems" rel="nofollow">https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems</a></p> <p>I&#39;ve seen just a few complaints im the issue on the tracker and they should be solved on the next EAP, due to in the next couple of weeks, but that doesn&#39;t mean that the particular issue you&#39;ve bumped to has been solved. </p> <p>Thank you. </p></pre>dmikalova: <pre><p>Definitely not as slow as Atom.</p></pre>ChristophBerger: <pre><p>I use VSC on a small, slow netbook without problems. It is fast enough for me. (YMMV)</p></pre>dmikalova: <pre><p>It really feels the simplicity ethos of Go. For example if you open Go files it tells you to install the defaults Go plugin set.</p></pre>epiris: <pre><p>Does it force telemetry like the operating system or can you disable it?</p></pre>Ouzmonsta: <pre><p><a href="https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting" rel="nofollow">You can disable it</a>. Most editors give you the option of sending telemetry data so you have the option of disabling it. </p></pre>dmikalova: <pre><p>Since Go has such amazing tooling most of the IDEs are more or less even. All the various Go plugins have to do is interface the tools with the IDE. I&#39;ve tried Vim, Atom, and currently VS Code with great satisfaction.</p></pre>scottjbarr: <pre><p>I think this this hits it on the head.</p> <p>The tooling available for Go isn&#39;t &#34;IDE&#34; specific. This allows you to pick the &#34;editor&#34; that you personally prefer, and get install whatever packages needed to integrate the tooling. The choice of IDE is less important with Go, than with any other &#34;modern&#34; language I&#39;ve worked with.</p> <p>For me, I like Emacs. But I see Go devs working with Emacs, Vim, Atom, VSCode, IntelliJ... whatever they prefer. What a time to be alive.</p></pre>gutierri: <pre><p>Did you understand a better IDE because of the plugins?</p> <p>Because it&#39;s not for that, I think the best IDE or editor is the one that you master the most, the more productive your tool, the more agile you write code.</p> <p>Now if it is, some people are using VSCode and they say it&#39;s good.</p></pre>gophergo: <pre><p>I have been using intellij with the various go plugins and can do refactoring, find usage, coverage, invoke tests inline so I would not trade it for anything. I like the git support also. On the topic of go debugging - I kind of freaked out when I found out go did not have a debugger but IMO it&#39;s better to write good tests anyway.</p></pre>dlsniper: <pre><p>Go does have a debugger, Delve. It integrated in most editors and plugins for Go by now. The problem is that Go itself is sometimes not reliable enough to produce a good debugging experience.</p></pre>belimawr123: <pre><p>I use emacs with go-mode and some other plugins (company-go, go-guru, go-rename, etc).</p> <p>I tried VSCode and Gogland as well, but Emas e the best so far.</p></pre>adelowo: <pre><p>ST3 with the Gosublime package./. Works like a charm</p></pre>bludgeonerV: <pre><p>Only tried Atom and Webstorm, settled for webstorm.</p></pre>dlsniper: <pre><p>Have you had a look at Gogland?</p></pre>bludgeonerV: <pre><p>No i haven&#39;t, what are the major advantages over webstorm + plugins?</p></pre>dlsniper: <pre><p>Out of the top of my head, none really that would be ground breaking (that is if you are using the JetBrains official plugin, not the community one). It is a bit more focused on Go than what you get in WebStorm, but if that&#39;s not something that bother you now then I guess it&#39;s alright. Just make sure you are using the JetBrains Go plugin, not the Community one so that you can get the best out of it.</p></pre>F41LUR3: <pre><p>Visual Studio Code + vscode-go plugin is my main IDE setup. The best experience I&#39;ve had thus far with a Go/IDE.</p></pre>SupersonicSpitfire: <pre><p>This question and many of the comments is such an obvious attempt at marketing Gogland.</p></pre>dlsniper: <pre><p>Attempt by whom? According to the Go survey that ran in last year, VIM, VS Code, and IntelliJ where the three most used development environments. Looking at the replies here, that seems about right. And I&#39;m passionate about Gogland, which is the dedicated IDE unlike IntelliJ was, thus trying to understand where some people have problems with it or complain that IntelliJ is heavy. </p> <p>I&#39;m not dissing any other editor and in fact the good response for this type of question is always: Depends on what you are used to. There are a lot of editors that support Go, like vim, emacs, Atom, VSCode or IDEs like Gogland or LiteIDE (not sure about others?) but at the end of the day they are all IDEs because IDE means Integrated Development Environment and every one of those provides a lot of that to blur the lines between an IDE and an editor in the classic sense. </p> <p>So, you can go and suck that conspiracy lemon a bit more to make more baseless comments like that, or you can accept that people like something and they express it as such without being the person you are making this comment.</p></pre>SupersonicSpitfire: <pre><p>ViM and LiteIDE are open source and not backed by a company with an agenda of selling licenses of related software. The incentive is clear. There is no conspiracy.</p></pre>dlsniper: <pre><p>Intellij is open sourced as well, <a href="https://github.com/JetBrains/intellij-community/" rel="nofollow">https://github.com/JetBrains/intellij-community/</a></p> <p>And those evil licenses you seem to be against of help developing the software. </p> <p>Do you like vim-go? Are you donating to Fatih <a href="https://www.patreon.com/fatih" rel="nofollow">https://www.patreon.com/fatih</a> to help him with the development of the great plugin he created? Or to visualfc for Lite IDE <a href="http://visualfc.github.io/support/" rel="nofollow">http://visualfc.github.io/support/</a> ? If so then how&#39;s that different than paying for the product? If not, then you should probably not be the great moralist you pretend to be.</p> <p>Yes, JetBrains might be a company and their desire might be to make money, just like everyone else, but if in the process they give back something actually useful, what&#39;s the problem? Or do you like open-source because it means you can just use it and not care about all the time and effort put behind that project?</p></pre>SupersonicSpitfire: <pre><p>Vendor lock-in and getting users hooked on a free product for then to sell an expensive one is a bad thing. This does not make neither free nor proprietary licenses &#34;evil&#34;, as you put it.</p> <p>Paid licenses help the development of paid software. Why this is desirable when there are equal or better alternatives that are free software is beyond me.</p> <p>I support open source software by creating open source software, or helping open source projects and using open source software.</p> <p>In short, nice try, JetBrains employee.</p></pre>dlsniper: <pre><p>Yet another mistake, I&#39;m not a JetBrains employee, never was.</p> <p>Vendor lock-in when it comes to editing text files is probably the stupidest thing I&#39;ve heard this month. But I like how you dodged the donations part as well.</p> <p>Nice trolling but it seems you&#39;re all talk and no substance. Have a nice day.</p></pre>SupersonicSpitfire: <pre><p>Woosh</p></pre>faiface: <pre><p>VSCode, for sure.</p></pre>XTL: <pre><p>No IDE is best IDE.</p></pre>dlsniper: <pre><p>Yet all editors are IDEs. Such a conundrum, right? </p></pre>greyeye77: <pre><p>Integrated debugger on IDE, is a must for me. While most quick check/modify is sufficient using VSCode, I would prefer to use Gogland for many occasions.</p></pre>billziss: <pre><p>When it works the Gogland debugger is great. Unfortunately I found that it often did not work well for me (on OSX), with go programs that call into C libraries using cgo. Often times the debuggee would just die, other time the debugger would randomly detach from it without warning.</p></pre>greyeye77: <pre><p>I have experienced same on OSX (10.12), its not problem with Gogland, but more with Delve debugger&#39;s issue with OSX&#39;s security.</p> <p>im not sure if it will ever be stable or reliable on OSX. </p></pre>dlsniper: <pre><p>The guys behind delve have made some significant change in the upcoming release so now delve will use lldb-debug server (iirc) to do the debugging on OS X, which hopefully should give a much better experience to users.</p> <p>But it also has to be noted that it&#39;s not only delve but also Go which is at fault as it doesn&#39;t produce the necessary or correct debug information (and as such you should always use the latest Go release) but also the linker version on OS X matters.</p></pre>dlsniper: <pre><p>I&#39;m not 100% sure but many of these problems should be fixed in the next EAP, EAP 8, which should be out in a couple of weeks at most afaik. </p></pre>eighthCoffee: <pre><p>While I mainly use gogland as well (mostly due to just being very comfortable with intellij as a java dev), it&#39;s worth nothing that VSCode does have an integrated debugger that works perfectly with Go.</p></pre>lordmatrix: <pre><p>Atom with go-plus package.</p> <p><a href="https://atom.io/packages/go-plus" rel="nofollow">https://atom.io/packages/go-plus</a></p></pre>ar1819: <pre><p>Gogland for full development and VS Code for quick editing. Gogland caches intellisense so the Go to, autocomplete and refactorings work a lot faster. On other hand the VS Code startup time is faster and it has things I personally like (create git repo using shortcut or gitlense) and it has better integration with 3rd party tooling (like metalinter). Still waiting for the proper guru integration tho. </p></pre>

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

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