4 ms·
+1 for clangd (not to mention clang-tidy and clang-format). On Ubuntu 20.04 clang-10 is is in the standard repositories (I’ve heard it’s well-supported on other
by benreesman 6y ago
+1 for clangd (not to mention clang-tidy and clang-format). On Ubuntu 20.04 clang-10 is is in the standard repositories (I’ve heard it’s well-supported on other distributions), and the setup is seamless.
clangd eats big-ass, hairy, template-heavy TUs for breakfast as concerns responsiveness, and I have yet to see it make a mistaken autocomplete suggestion or fail to find a declaration that I agreed with. It’s easily the equal in precision of the Intellisense server that some of my colleagues use and doesn’t bog down the same way. Even the method renaming is pretty solid.
For me at least it’s a small but consistent productivity increase over any of the alternatives I’m aware of and fits into your existing emacs/vim/vscode workflow.
Would download for free again.
- gpderetta 6y agoit crashes early and often for me though :( Should probably switch to a more recent clangd.
- ComputerGuru 6y agoI’ve been using it since the initial release when it wasn’t even its own tool, and it’s come a long way since then. There was a release that basically flipped a reliability switch and it was night and day in terms of responsiveness, stability, availability of completions, etc. Definitely update!
- benreesman 6y agoWhat environment? It's useful enough to me that I'll try to steer clear of places where it's difficult to get reliably set up. I've used the `clang-9` chain on Ubuntu 18.04 and the `clang-10` chain on Ubuntu 20.04 and it's been absolutely seamless.
- gpderetta 6y agoAll third party libs are custom built from source, but right now I do not remember which version of clang we use; it might be older than 9. It is a big code base,
- babuskov 6y ago> It’s easily the equal in precision of the Intellisense server that some of my colleagues use and doesn’t bog down the same way. Even the method renaming is pretty solid. > For me at least it’s a small but consistent productivity increase over any of the alternatives I’m aware of Have you tried Eclipse CDT? Since nobody mentions it, I guess I have to. It takes some time to set it up (system paths, etc.) but once you do, it makes browsing and refactoring code a breeze. It works much faster than Intellisense and stuff like dependency trees (call hierarchy, etc.) are much easier to navigate. I'm using it as my main editor since 2014 or so. Have tried various alternatives on all 3 platforms (Linux, macOS, Windows), but I always go back to it for C++ dev.
- benreesman 6y agoI haven't used Eclipse in a long time, in a previous life when I wrote a lot of Java I would sometimes use it for the debugger. I don't have any problem with people who want to use GUI IDEs, some are even pretty tempting (XCode with the DTrace integration is slick as hell), but I'm so married to having my development environment running on a big, always-on box somewhere under a tmux session that it doesn't make a ton of sense for me. Plus at this point my fingers are so hardwired that I reconfigure my desktop environment to match Emacs and/or Vim text navigation rather than the other way around. Even when editing Algol/brace-type languages I can't imagine moving a lot of code around quickly without paredit-mode and friends.
- cardiffspaceman 6y agoI was using CDT until WFH started in March. At the time Remote System Explorer appeared to be dead-ish so I went with VSCode. Eclipse CDT is extremely tedious to configure the include paths for because they all have to be entered one by one in a text box. VSCode has a remote system extension and include paths can be entered en masse into a JSON file. I've used both with embedded projects that involve cross compilers. VSCode doesn't know MIPS processors are a thing so some of my linux driver code has unwarranted squiggles. For Eclipse the same constructs are handled by the methods it uses for any code. Eclipse supports its superior features with a lot of reindexing. VSCode supports its features with glorified searches.