[cfe-dev] Getting involved with Clang refactoring

David Wood dswood at gmail.com
Fri May 18 17:38:17 PDT 2012


Thanks all for the pointers. 

--David

On May 18, 2012, at 10:35, Arnaud de Grandmaison <arnaud.allarddegrandmaison at parrot.com> wrote:

> clang_complete (https://github.com/Rip-Rip/clang_complete) is a nice Vim
> plugin, and is easy to install --- although not shipped with clang :)
> 
> Cheers,
> Arnaud
> 
> On 05/18/2012 05:21 PM, Douglas Gregor wrote:
>> On May 18, 2012, at 12:11 AM, David Wood <dswood at gmail.com> wrote:
>> 
>>> Greetings,
>>> 
>>> I just attended Chandler Carruth's talk at C++ Now about using clang to develop refactoring tools.  As they say on the internets "Your ideas intrigue me and I would like to subscribe to your newsletter."
>>> 
>>> I believe that refactoring tools can be groundbreaking for C++ and would like to contribute.  I'm particularly interested in getting the tools hooked into IDEs (many years ago I worked on a refactoring plugin for JBuilder), but it sounds like there's lots of work to be done before that.  How can I get started, and what most needs to be worked on?
>> Welcome!
>> 
>> Arnaud's links point at the tooling infrastructure, which is intended for building standalone refactoring and source-based tools.
>> 
>> For IDE-centric tools, libclang
>> 
>>    http://clang.llvm.org/doxygen/group__CINDEX.html
>> 
>> is a C interface to Clang that focuses on the things that IDEs like to do: syntax highlighting, indexing, code completion, finding all of the references to a given declaration within a file, finding out what your cursor is pointing to, etc. I gave an introductory talk on libclang at the 2010 LLVM Developer Meeting which might be helpful:
>> 
>>    http://llvm.org/devmtg/2010-11/
>> 
>> If your primary interest is in IDEs, I suggest wiring up libclang to your favorite open-source IDE. There are various Vim and Emacs libclang bindings running around, for example, although I don't know which are best. Personally, I think it would be awesome if we could have easy-to-install, libclang-based packages for vim and emacs that were maintained along with Clang and got all of the new libclang goodness. Once you've played with libclang's integration, I'm sure you'll find something that needs improvement, and we can point you at that code if you don't find it yourself.
>> 
>> If your primary interest is in refactoring, Arnaud's links to tooling are a good place to start, because it's starting to collect the pieces needed to make refactoring easier.
>> 
>>    - Doug
>> 
>> _______________________________________________
>> cfe-dev mailing list
>> cfe-dev at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>> 
> 
> 
> -- 
> Arnaud de Grandmaison
> Senior CPU engineer
> Business Unit Digital Tuner
> 
> Parrot S.A.
> 174, quai de Jemmapes
> 75010 Paris - France
> Phone: +33 1 48 03 84 59
> 




More information about the cfe-dev mailing list