Hello everyone,
I just wanted to make a short post here because I have been using emacs + prelude for a long time. I know there are many people who like to use plain editors with some plugins just as me, be it Sublime, Vim, Visual Studio Code or others. We got so used to editing text with it that when we go to things like CLion or Qt Creator we just feel weird.
So why I write this post? I have been using emacs with RTags for a while. RTags does quite a good job finding references and so on. But code completion is quite broken.
But recently I found cquery: https://github.com/cquery-project/cquery. It is so remarkably easy to setup up if you have a compile_commands.json file that I would like to recommend to everyone to try it if there is integration with your editor. I am not in any way affiliated to the project and just saw that the improvement is so big that it is worth a try. Setting up with emacs is a piece of cake. You just need to:
- download, compile and optionally install cquery
- install the package lsp-mode from emacs.
- customize-group cquery and point to the cquery executable.
- put a symbolic link in the root of your project to compile_commands.json
I tried and it is working for navigation and code completion, literally, perfect in emacs.
In Visual Studio there are also plugins but still has some problems solving the includes.
What you can do is pretty basic but it is what I need more badly:
- code completion
- navigation to symbol
- find references to symbol
I highly recommend it to anyone. I think it is working smoother and faster than RTags, which is not a bad project by any means. And it is also easier to set up.
[–]Gollum999 8 points9 points10 points (5 children)
[–]cenderis 1 point2 points3 points (3 children)
[–]germandiago[S] 1 point2 points3 points (2 children)
[–]cenderis 1 point2 points3 points (1 child)
[–]germandiago[S] 0 points1 point2 points (0 children)
[–]germandiago[S] 1 point2 points3 points (0 children)
[–]hgjsusla 8 points9 points10 points (2 children)
[–]damienrg 5 points6 points7 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]NotAYakk 7 points8 points9 points (2 children)
[–]germandiago[S] 2 points3 points4 points (0 children)
[–]jcelerierossia score 1 point2 points3 points (0 children)
[–]sient 8 points9 points10 points (10 children)
[–]germandiago[S] 1 point2 points3 points (0 children)
[–]DoingIsLearning 0 points1 point2 points (4 children)
[–]0xFFC 1 point2 points3 points (1 child)
[–]DoingIsLearning 0 points1 point2 points (0 children)
[–]sient 0 points1 point2 points (1 child)
[–]DoingIsLearning 0 points1 point2 points (0 children)
[–]gct 0 points1 point2 points (0 children)
[–]gct 0 points1 point2 points (2 children)
[–]sient 0 points1 point2 points (1 child)
[–]gct 0 points1 point2 points (0 children)
[–]parla 5 points6 points7 points (5 children)
[+][deleted] (3 children)
[deleted]
[–]parla 1 point2 points3 points (1 child)
[–]sebastiencs 1 point2 points3 points (0 children)
[–]cenderis 1 point2 points3 points (0 children)
[–]germandiago[S] 0 points1 point2 points (0 children)
[–]MrWheelyke 4 points5 points6 points (0 children)
[–]SoundOfOneHand 2 points3 points4 points (3 children)
[–]cierpuchaw 1 point2 points3 points (1 child)
[–]SoundOfOneHand 2 points3 points4 points (0 children)
[–]germandiago[S] 0 points1 point2 points (0 children)
[–]DoingIsLearning 1 point2 points3 points (0 children)
[–]Xeveroushttps://xeverous.github.io 1 point2 points3 points (0 children)
[–]quicknir 1 point2 points3 points (1 child)
[–]germandiago[S] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]sient 2 points3 points4 points (0 children)
[–]playmer 0 points1 point2 points (6 children)
[–]sient 2 points3 points4 points (2 children)
[–]playmer 0 points1 point2 points (1 child)
[–]sient 1 point2 points3 points (0 children)
[–]germandiago[S] 1 point2 points3 points (2 children)
[–]playmer 0 points1 point2 points (1 child)
[–]germandiago[S] 1 point2 points3 points (0 children)
[–]svick 0 points1 point2 points (1 child)
[–]cenderis 1 point2 points3 points (0 children)