<div dir="ltr">Qt Creator + CMake + Ninja + LLDB<div><br></div><div>Qt Creator is very fast compared to every other IDE (including VS on Windows)</div><div>Code navigation is good, they have two plugins, new one uses Clang :)</div><div>CMake integration is minimal and has some quirks</div><div>Starting the debugger is dog slow so I switched to LLDB. It's visibly faster but still slow compared to VS where debugger starts almost instantaneously.</div><div><br></div><div>And yes I use editor in Vim mode </div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 10, 2015 at 6:36 AM, Gábor Márton <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">For vim and C++ development you can find pretty mature tools/plugins like <br>Ycm (<a href="https://github.com/Valloric/YouCompleteMe" target="_blank">https://github.com/Valloric/YouCompleteMe</a>) and Rtags (<a href="https://github.com/Andersbakken/rtags" target="_blank">https://github.com/Andersbakken/rtags</a>). Both of them are using libclang for completion and goto definition features. Ycm works on the actual buffer, while Rtags processes the whole project. A project is identified by the compilation_database.json file. In case of Ycm it is sometimes tricky to derive the compilation flags for headers, so I am using some heuristics for that (<a href="https://github.com/martong/ycm_extra_conf.jsondb" target="_blank">https://github.com/martong/ycm_extra_conf.jsondb</a>). I am using both Ycm and Rtags to browse and edit the clang codebase and I am quite happy with them.<br>For debugging I am using vim's --servername and --remote-send switches plus iterm2 to match file:line patterns and to navigate to that position in my running vim instance.<br><br><div>Note, Rtags can be used with emacs as well.</div><div><br></div><div>Cheers,<br>Gábor<div><div class="h5"><br><br><div class="gmail_quote"><div dir="ltr">On Wed, Sep 9, 2015 at 7:41 PM Richard via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
[Please reply *only* to the list and do not include my email directly<br>
in your reply.  Thanks.]<br>
<br>
I posted on this previously and have had great success using CLion:<br>
<<a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-February/041418.html" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-February/041418.html</a>><br>
<br>
CLion has since been released and is no longer in early access program<br>
builds.  I recommend it highly for CMake projects.  It works great for<br>
CLang IMO.<br>
<br>
TL;DR History of the reviewer:<br>
<br>
- 1978: My first real editor was TECO, the ancestor of emacs.  IDEs were<br>
  non-existent.  I liked having an editor that was programmable.  I<br>
  still have a soft spot for TECO even though TECO programs read like<br>
  a binary file.<br>
<br>
- 1982: My second editor was vi.  I liked the modes (insert/navigate)<br>
  because it's similar to TECO and did visual presentation of my file<br>
  better than the macro package add-ons for TECO.  (Mostly this is saying<br>
  "I like curses.")  I still use vi for many small day-to-day editing<br>
  tasks, mostly email messages like this one.<br>
<br>
- 1988: My third editor and first IDE was emacs.  Handling multiple open<br>
  files was great but the lack of insert/navigation modes hurts my pinky<br>
  finger.  (Old joke: EMACS stand for Escape Meta Alt Control Shift.)<br>
  First approximation to something called an "IDE" because it let me<br>
  run the debugger and move a little => cursor over my source code as<br>
  I single stepped.  Emacs/gdb/M-x compile seems to have pretty much<br>
  remained identical since this time and not significantly improved in<br>
  any way for C/C++ development.  Despite all the programmability of<br>
  the editor, open source compilers remained deliberately crippled for<br>
  extension making it nearly impossible to provide high quality automatic<br>
  source-to-source transformations beyond simple find/replace operations<br>
  or move beyond the batch-oriented Makefile paradigm of compiling.<br>
<br>
- 1994: I played with the graphical GUI oriented software developer<br>
  tools from SGI (CASEVision?).  The emphasis seem to be on the pretty end<br>
  of things and I remember it being slower than emacs/dbx/M-x compile,<br>
  so I stuck with that.<br>
<br>
- 1997: I played with Borland's C++ Builder IDE.  I liked the VCL<br>
  concept but I wasn't a fan of introducing non-ISO syntax into C++ in<br>
  order to support it (for VCL's properties).  I found the multitude<br>
  of top-level windows with no ability to dock them into a single<br>
  top-level window arrangement too annoying, so I never pursued any<br>
  serious development using the IDE.<br>
<br>
- 1998: My fourth editor (2nd IDE) was Visual C++ 6.  This was the first<br>
  time I started programming for Windows and I initially had a Windows<br>
  version of emacs sitting side-by-side with VC6 for some editing tasks.<br>
  Over time I learned the keyboard navigation of VC6, learned the project<br>
  system, etc., and stopped using emacs for any code editing.  This was<br>
  my first real IDE that I used on a daily basis.  I have continued to<br>
  use this as my primary IDE on Windows as it evolved into Visual Studio<br>
  from Visual C++.  I have rarely used emacs since this time.<br>
<br>
- 2007: ReSharper (JetBrains) and Visual Assist X (Whole Tomato) add-ons<br>
  for Visual Studio.  While not IDEs themselves, these are such<br>
  a productivity boost for C# (ReSharper) and C++ (Visual Assist)<br>
  development that the difference before and after is astounding.<br>
  Visual Assist X introduced automated refactoring for native C++<br>
  development.  Their parser is ad-hoc but continues to be improved<br>
  and the results are pretty good.<br>
  <<a href="https://github.com/LegalizeAdulthood/refactor-test-suite/blob/master/results/VisualAssistXResults.md" rel="noreferrer" target="_blank">https://github.com/LegalizeAdulthood/refactor-test-suite/blob/master/results/VisualAssistXResults.md</a>><br>
  Other refactoring tool add-ons for native C++ development had promise<br>
  but were too buggy or negatively impacted the speed of editing.<br>
  Although they showed great promise, they were eventually discontinued.<br>
<br>
- 2011: My fifth editor (3rd IDE) was IntelliJ from JetBrains for Java.<br>
  I continued to use Visual Studio for C++ development.  I tried using<br>
  Eclipse for Java for about a month but it was really too painful and<br>
  eclipse-using coworkers could neither explain to me how to get things<br>
  to work properly or why things did what they did.  A quick download of<br>
  IntelliJ on their free trial and I never looked back.  The refactoring<br>
  support combined with structural analysis created an IDE that was<br>
  truly like having a partner that helped me with the drudgery of coding<br>
  while I concentrated on the creative part of coding.  IntelliJ level<br>
  of refactoring is the "Gold Standard" as far as I'm concerned.<br>
<br>
- 2015: My sixth editor (4th IDE) was CLion (JetBrains) for C++<br>
  development on Linux.  JetBrains also introduced the ReSharper for C++<br>
  add-on for C++ development on Windows with Visual Studio.  I tried the<br>
  early access program builds for CLion for several months, primarily<br>
  working on my contributions to clang-tidy.  It's really a tailored<br>
  version of the IntelliJ IDE for native C++ development using CMake<br>
  as a build system, so it wasn't like learning a new editor.  CLion<br>
  provides good automated refactoring support.<br>
  <<a href="https://github.com/LegalizeAdulthood/refactor-test-suite/blob/master/results/CLionResults.md" rel="noreferrer" target="_blank">https://github.com/LegalizeAdulthood/refactor-test-suite/blob/master/results/CLionResults.md</a>><br>
--<br>
"The Direct3D Graphics Pipeline" free book <<a href="http://tinyurl.com/d3d-pipeline" rel="noreferrer" target="_blank">http://tinyurl.com/d3d-pipeline</a>><br>
     The Computer Graphics Museum <<a href="http://ComputerGraphicsMuseum.org" rel="noreferrer" target="_blank">http://ComputerGraphicsMuseum.org</a>><br>
         The Terminals Wiki <<a href="http://terminals.classiccmp.org" rel="noreferrer" target="_blank">http://terminals.classiccmp.org</a>><br>
  Legalize Adulthood! (my blog) <<a href="http://LegalizeAdulthood.wordpress.com" rel="noreferrer" target="_blank">http://LegalizeAdulthood.wordpress.com</a>><br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</blockquote></div></div></div></div></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>