5 ms·
I'm sure you get something like flycheck out of the box, but what makes me use IntelliJ for Java is: - navigating around the code: jump to interface, jump to i
by fusiongyro 10y ago
I'm sure you get something like flycheck out of the box, but what makes me use IntelliJ for Java is:
- navigating around the code: jump to interface, jump to implementations, jump to definition, etc. This sucks in Emacs even using etags.
- refactoring: highlight code, press a hotkey, now it's a function or a variable and all repeats have been replaced with references to it
Seeing a choice between Emacs and IntelliJ for Go, the decision comes down to how likely am I to use those two features. I don't do much Go, but the appeal of having that functionality is pretty significant. I would definitely try Gogland based on my experience with Java et al.
- vetinari 10y agoYou wouldn't use etags for navigating go code in Emacs. You would use go-mode. Emacs doesn't implement navigating and refactoring go code in elisp, as it does for other languages. For go, there are editor-independent tools, like go-guru, which are used not only by Emacs, but also for vi, vscode and multitude of others. Or just from command line. I would consider golang to be the last language, that needs an Idea-based IDE.
- softawre 10y agoSo does go-guru allow you to navigate code in emacs or not? Being able to navigate the code (and refactor it, really) in the same place you are viewing it is a big win for me. At least in the other languages I care about.
- vetinari 10y agoYes, it allows you to navigate in emacs. This shows you how: https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ/edit https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15...
- zeveb 10y ago> So does go-guru allow you to navigate code in emacs or not? Yes (or at least, go-mode in total does): C-c C-j to go to a definition (annoyingly, not the stand M-. every single other language mode uses, why go-mode why), M-, to return up &c. Also, with projectile, searching an entire project (not just source) for strings & regexps is incredibly easy. I'm not 100% certain, but there's a strong possibility that emacs invented code navigation.
- fusiongyro 10y agoI think it came from ctags, which was part of Unix since way back.
- mmgutz 10y agoI don't use emacs but I would be surprised if those weren't supported. Vim-go, VS.Code both offer those features through community plugins. I would not be surprised if JetBrains were using the same code services used by those plugins.
- geoka9 10y agoIn Emacs there are guru and godef that make it a breeze to work with Go: https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15JgRT5iM742gJkw5LtmQ/edit https://docs.google.com/document/d/1_Y9xCEMj5S-7rv2ooHpZNH15... UPD: Now, if only there was something similar (in Emacs) for Java, Ruby and JS...
- deleted 10y ago[deleted]
- anton-107 10y ago> jump to implementations not a trivial thing to implement for Go though. Last time I checked the Go plugin for Intellij was missing this functionality
- chillydawg 10y agoYeah, still missing. Just tried it.
- ekiru 10y agoThis is indeed trivial to implement for Go in the sense of "implement" which allows for just calling out to guru ( https://godoc.org/golang.org/x/tools/cmd/guru https://godoc.org/golang.org/x/tools/cmd/guru ).