Thread: [cedet-semantic] confused on ede-cpp-root-project
Brought to you by:
zappo
From: wy li <tho...@gm...> - 2013-01-24 16:47:43
|
Hi, every one, I new to emacs and cedet. Now I meet a problem. something seems not work well in ede-cpp-root-project. part of my .emcas file just like this: (add-to-list 'load-path "~/cedet-install-path/common") (require 'cedet) (global-ede-mode t) (semantic-load-enable-semantic-debugging-helpers) suggest a project locate in directory "/project". And there some subdirectories in it. eg: project | |----- include | |----- src configure about ede-cpp-root-project like this: (setq semanticdb-project-roots (list (expand-file-name "~/"))) (ede-cpp-root-project "test" :file "/project/readme.txt" :include-path '( “/include") ) The problem is cpp files in "src" would not be parsed until they are opened by emacs. Because this is a big project and there are a lot of source files. It is impossible to open every file manully. So, I just wonder whether there is a command like "parse-cpp-in-some-directory" to force to parse the cpp file in some directory configured in .emacs file. If not, are there any other solutions? by the way, when I M-x and insert "semantic-ia-complete-symbol-menu", it pop out the menu, but I can only use the arrow up and down to choose the completing item. Is there a command or keybinding to control it? lwy best regards |
From: Eric M. L. <er...@si...> - 2013-01-31 01:13:38
|
On 01/24/2013 11:47 AM, wy li wrote: > Hi, every one, I new to emacs and cedet. Now I meet a problem. something > seems not work well in ede-cpp-root-project. > part of my .emcas file just like this: > (add-to-list 'load-path "~/cedet-install-path/common") > (require 'cedet) > (global-ede-mode t) > (semantic-load-enable-semantic-debugging-helpers) > > > suggest a project locate in directory "/project". And there some > subdirectories in it. eg: > project > | > |----- include > | > |----- src > > > configure about ede-cpp-root-project like this: > (setq semanticdb-project-roots (list (expand-file-name "~/"))) > (ede-cpp-root-project "test" > :file "/project/readme.txt" > :include-path '( “/include") > ) > > > The problem is cpp files in "src" would not be parsed until they are > opened by emacs. Because this is a big project and there are a lot of > source files. It is impossible to open every file manully. So, I just > wonder whether there is a command like "parse-cpp-in-some-directory" to > force to parse the cpp file in some directory configured in .emacs file. > If not, are there any other solutions? If you want to have your entire project parsed ahead of time for purposes of jumping to a definition in the code, you should use GNU Global as a back end. In the CEDET manual, there is a chapter on how to integrate GNU Global with different parts of CEDET. If you want to parse the project for smart completion, that is not necessary. So long as EDE can find all your header files, Semantic will find and parse them when you need them, or during idle time if you let Emacs sit around too long. It doesn't need your whole project for good completion. > by the way, when I M-x and insert "semantic-ia-complete-symbol-menu", it > pop out the menu, but I can only use the arrow up and down to choose the > completing item. Is there a command or keybinding to control it? There are many ways to interact with smart completions calculated from CEDET. The bits doc'ed with CEDET use built-in features like menus, but some such as pcomplete, or autocomplete have fancy in-buffer menus. http://emacswiki.org/emacs/CategoryCompletion Good Luck Eric |