Re: [cedet-semantic] cedet-semantic post from yupeng82921@163.com requires approval
Brought to you by:
zappo
|
From: Eric M. L. <er...@si...> - 2008-12-30 02:06:21
|
Hi Yupeng,
It would be wise to subscribe to the mailing list if you would like
to get your posts replied to reliably. :)
The GNU Global support is not yet magically 100% configured with one
step. I'm still in the process of finding the integration paths, and
each path must be configured separately.
If you want GNU Global to work with finding project includes, you
need to first make sure there is an EDE project active, like
ede-cpp-root. You also need to enable Global via the EDE variable
`ede-locate-setup-options'. Those two together will let Semantic find
any file in your project by simple name.
To use Global to find symbols via semantic, you need to enable the
database backend via `semanticdb-enable-gnu-global-databases'. Be
warned, however. This database is only used for wide searches of root
symbols. Smart completion doesn't do wide searches, it only searches
explicit lists of header files. It would be useful for finding
explicit names for a Jump however. I haven't tested this aspect much.
As for ebrowse, it is useful for finding tags by name in a
directory. Semantic still needs to parse everything. Over time, the
ebrowse database becomes less useful as Semantic parses everything
normally, so I have stopped using it.
Using Exuberant ctags can speed up parsing of C++, but it has some
subtle issues of its own.
The semantic-ia-fast-jump bug you report sounds like something I had
fixed a several weeks ago. I looked, and I don't think I've forgotten
to check any of my changes in. If you can specify a precise way to
reproduce the bug, that would be helpful. If there is no simple way
to reproduce the issue, you should use edebug-defun on
`semantic-ia--fast-jump-helper' to find out what is missing.
Good Luck
Eric
>>> yup...@16... seems to think that:
>Hi, Eric.
>
>I'm so excited to see semantic can extract information from gnu global
>database. I have check out the last version of CEDET from CVS to try
>it. It is pretty wonderful! Now I can get the completion information
>from the whole project.
>
>But I found it is still not perfect enough. It can not get the member
>of a structure if I do not specify the include path in EDE. For a
>large C program, it may have too many directory to include. I think in
>theory, we needn't to specify the include path if we use global. Such
>as, when semantic can not find a head file, it can put the name of the
>head file to global, then global can tell semantic the directory of
>the head file. Or use another method, we use global create a whole
>project index, and use ebrowse create index for every folder. When
>semantic complete a structure or class member, it search its define in
>the current buffer and its head file in the current directory, if do
>not find the define, put the structure or class name to global, global
>can tell semantic the directory where the structure or class is
>defined, them semantic search the ebrowse index in that directory. Are
>these two methods possible?
>
>Another thing. I found when I use "semantic-ia-fast-jump" to find
>where a function is defined, and if the function is not defined in the
>current buffer, "semantic-ia-fast-jump" can only open the file where
>the function is defined but do not set the the buffer which contents
>the function define as the current buffer. And if a function is
>defined on two files, both file will be open, I think it may be better
>to let the user select which file to open.
>
>yupeng
--
Eric Ludlam: er...@si...
Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net
|