3 ms·
And it will only get better once it understands LSP, better than it does now. It's a pale copy of VSCode's incredible LSP implementation: for a user, simply cli
by dleslie 7y ago
And it will only get better once it understands LSP, better than it does now. It's a pale copy of VSCode's incredible LSP implementation: for a user, simply clicking the button to install the extension automagically configures a fully functional language environment; even for C++. Most of the time.
When last I tried to get decent C++ support working with Emacs, about a year ago, it was still a mess of compiling rtags/cquery, installing global, configuring per-project variants, sacrificing ungulats, hail baphomet.
- jdormit 7y agoI've been using Emacs' lsp-mode (https://github.com/emacs-lsp/lsp-mode https://github.com/emacs-lsp/lsp-mode) for professional Python development for months now and it's been a great experience. It requires a little more work than I'd like to get it working with virtual environments (making sure the LSP server process is running in your venv, mainly), but I would argue that's a problem with the Python ecosystem, not lsp-mode itself. And for statically typed languages (I've tried Rust and Go) the lsp-mode experience is flawless and works out of the box.
- jonnycomputer 7y agoI switched from emacs to Pycharm for python development, out of frustration with what most packaged tools was getting me, relative to what PyCharm did with no effort and little frustration at all. Too many half-maintained packages, put together, fighting incompatibilities. However, LSP really may change that.
- theCodeStig 7y agoLSP will definitely change that.
- geoka9 7y agoI've tried lsp for Go and found it a bit lacking at this point. For example, does lsp for Go in Emacs allow searching for the implementers of an interface? Or the interfaces that a type implements? Guru is great with things like that but the switch to modules broke it and it doesn't look like it's ever going to be updated.
- yyoncho 7y ago> For example, does lsp for Go in Emacs allow searching for the implementers of an interface? This one is supported - lsp-find-implementations The other one I am not sure (I am not a go user). If it make sense it will be added to the server.
- mgsb 7y agoI had a similar experience with Emacs LSP earlier, but I revisited last week and things have significantly improved for C/C++. lsp-mode and ccls work great, even with cross-compiling. Just two small use-package additions to init.el and "it just works". I will also say I tried VSCode this week using the same compile_commands.json, and it is impressive.
- lxbarbosa 7y agonow, one just need to install lsp/eglot and clangd. Done!