大規模な C++ プロジェクトに取り組んでいます。過去6か月間、emacsを使用しています。簡単にナビゲートできるように CEDET を構成しようとしましたが、いくつかの問題が見つかりました。
1.- セマンティックがいくつかのシンボルを見つけられない場合もあれば、そうでない場合もあります...どのファイルがセマンティックインデックス付けされているかはっきりわかりません。EDE を使用しようとしました (このペーパーhttp://alexott.net/en/writings/emacs-devenv/EmacsCedet.htmlの指示に従って) が、いくつかの問題も見つかりました...
- 同じプロジェクトの複数のバージョン (リリース) があり、それぞれが独自のフォルダーにあります。どのプロジェクトで作業しているかをemacsに伝えるにはどうすればよいですか?
- ede にヘッダー ファイルの検索場所を指定するにはどうすればよいですか? ルート ディレクトリだけを指定すると、セマンティックはすべてのサブディレクトリでヘッダー ファイルを検索しますか?
2.- しばらく前に vim+cscope を使用していましたが、シンボルのスタックに戻る方法があったことを覚えています (Ctrl-t)。emacs にこのようなものはありますか?
PD> 質問をより明確にするためのいくつかのデータ。
同じプロジェクトの複数のリリースがあります。それぞれに独自のルート ディレクトリがあります。各プロジェクトには、サブディレクトリ内にそれぞれ複数のモジュールがあります。各モジュールにはヘッダファイルがあります。
/home/user/
|
\Release-001
| |
| \makefile
| \ Module-001
| | |
| | \makefile
| | \subdir-001
| | | \header-001.h
| | | \header-002.h
| | \subdir-002
| | | \header-003.h
| \ Module-002
| | |
| | \makefile
| | \subdir-003
| | | \header-004.h
| | | \header-005.h
| | \subdir-004
| | | \header-006.h
|
\Release-002
| |
| \makefile
| \ Module-001
| | |
| | \makefile
| | \subdir-001
| | | \header-001.h
| | | \header-002.h
| | \subdir-002
| | | \header-003.h
| \ Module-002
| | |
| | \makefile
| | \subdir-003
| | | \header-004.h
| | | \header-005.h
| | \subdir-004
| | | \header-006.h
これは、.emacs にある EDE に関する構成です。
;; Cedet load commands
(add-to-list 'load-path "~/emacs-dir/cedet/cedet")
(load-file "~/emacs-dir/cedet/cedet/common/cedet.el")
;; EDE: activating mode.
(global-ede-mode t)
;; Projects definition
(ede-cpp-root-project "Release-001"
:name "Release-001"
:file "~/Release-001/makefile"
:include-path '("/"
)
:system-include-path '("~/exp/include")
:spp-table '(("SUSE9" . "")
)
)
(ede-cpp-root-project "Release-002"
:name "Release-002"
:file "~/Release-002/makefile"
:include-path '("/"
)
:system-include-path '("~/exp/include")
:spp-table '(("SUSE9" . "")
)
)
お知らせします...私はemacsのコンソールバージョン(-nw)を使用しています。