[cfe-dev] LLVM, Clang Development IDEs

Nikola Smiljanic via cfe-dev cfe-dev at lists.llvm.org
Wed Sep 9 15:34:16 PDT 2015

Qt Creator + CMake + Ninja + LLDB

Qt Creator is very fast compared to every other IDE (including VS on
Code navigation is good, they have two plugins, new one uses Clang :)
CMake integration is minimal and has some quirks
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

And yes I use editor in Vim mode

On Thu, Sep 10, 2015 at 6:36 AM, Gábor Márton <cfe-dev at lists.llvm.org>

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

More information about the cfe-dev mailing list