[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: help needed setting up etags on Windows
From: |
Hongxu Chen |
Subject: |
Re: help needed setting up etags on Windows |
Date: |
Wed, 19 Jun 2013 21:02:46 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
"Ludwig, Mark" <ludwig.mark@siemens.com> writes:
> I hope you will share your results/decision at some point.
Here are my related configuration links for C/C++ development:
1.
https://github.com/HongxuChen/dotfiles/blob/master/_emacs.d/config/init-cc-mode.el
General cc mode settings
2.
https://github.com/HongxuChen/dotfiles/blob/master/_emacs.d/config/init-flymake.el
Add a flymake clang for single files
3. auto-complete-clang+yasnippet+autopair for editing assistance
4. fic-mode for highlight FIXME/TODO etc.
5. source code navigation:
(1) tag based: xgtags.el and xcscope.el(for header files that I never
modify since I cscope seems more accurate than xgtags).
(2) semantic based: cc-lookup(a simple script I write, based on
clang-lookup; it only looks for declaration/definition, no reference
support, no name refactoring support, and more improvements are
expected)
https://github.com/HongxuChen/cc-lookup
6. I also use directory local variables quite a lot
There are also several clang based tools for C/C++ coding:
1. https://github.com/Sarcasm/irony-mode
auto complete headers and code, syntax check; I cannot make the trigger
key right and there are some bugs for its plugins.
2. https://github.com/Golevka/emacs-clang-complete-async
a client-server version of auto-complete-completion; faster than
auto-complete-clang but many bugs
3. https://github.com/Andersbakken/rtags
Powerful tag system, there is a series video about it on Youtube, lookup
defintion/declaration/reference, rename refactoring, code completion;
but I don't know how to configure right:-(
4. company-mode
It's inferior to auto-complete and I don't use it.
>
> I've used etags for decades but have been doing only C coding.
> I'm on the cusp of switching to a C++ project, and etags just doesn't cut it.
>
> I'll be interested in what you find with Ebrowse.
> I've also seen chatter about CEDET being good for C++.
Personally I don't like CEDET(together with ECB) since it's too Emacsy
and I come from Vim; the most important thing is that it sucks quite
often and the speed is not satisfying. But there seems a clang semantics
analysis on it and I hope it would make a hit.
>
> Cheers,
> Mark Ludwig
>
> -----Original Message-----
> From: help-gnu-emacs-bounces+ludwig.mark=siemens.com@gnu.org
> [mailto:help-gnu-emacs-bounces+ludwig.mark=siemens.com@gnu.org] On Behalf Of
> C K Kashyap
> Sent: Tuesday, June 18, 2013 11:25 PM
> To: Hongxu Chen
> Cc: help-gnu-emacs@gnu.org
> Subject: Re: help needed setting up etags on Windows
>
> I am going to give cscope (infact, I forgot, I always used cscope with vim
> :) )
> I'll readup on ebrowse as well ....
>
> Thank you very much,
> Kashyap
>
>
> On Wed, Jun 19, 2013 at 6:16 AM, Hongxu Chen <leftcopy.chx@gmail.com> wrote:
>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> Date: Tue, 18 Jun 2013 17:59:09 +0530
>> >> From: C K Kashyap <ckkashyap@gmail.com>
>> >>
>> >> Could someone please help me get started with setting up etags for a
>> large
>> >> C++ source base? I'd like to use emacs on cygwin. I assume etags is the
>> >> right tool for source indexing with emacs.
>> >
>> > For C++, you will be better off with ebrowse, a program that also
>> > comes with Emacs. It understands C++ much better than etags does, and
>> > provides similar commands (so you don't lose anything). Check out the
>> > Ebrowse manual, which is part of the Emacs distribution, for details.
>>
>> I guess cscope would be better, and there is an elisp script called
>> xcscope.el.
>> http://cscope.sourceforge.net/
>> http://inst.eecs.berkeley.edu/~cs186/fa05/debugging/xcscope.el
>>
>> But it sucks when you need to modify some of your source code since the
>> update of cscope database always takes much time(AFAIK, there is no
>> incremental update at all); so it would be rather annoying if the code
>> base is large and there is a need to update the tag database
>> frequently.
>> There is another tagging system called GNU Global, however
>> it seems not available in cygwin.
>>
>> --
>> Regards,
>> Hongxu Chen
>>
>>
--
Regards,
Hongxu Chen