私は CEDET (最新の CVS) をいくつかの適度に大きなプロジェクト (それぞれ数百 kLOC、大部分は C ですが、一部は C++) で使用しており、システムが数秒間完全に応答しなくなる長い一時停止が時々発生します。ごくまれに、完全に制御不能になり、マッシュアップしC-g
てカーソルを移動するか、別のバッファに切り替えて制御を取り戻す必要があります。
私は GNU Global を使用して、作業しているプロジェクトのタグを作成しますが、これはまだ遅い場合があり、特にsemantic-symref-symbol
. 場合によっては、(同じプロジェクト内で) すぐにメッセージを見つけても、古い場所にある可能性がありsemantic-ia-fast-jump
ますが、エラーが発生することがあります。これは一時的なバグである可能性があり、通常は信頼できます。semantic-ia--fast-jump-helper: Tag SomeFunction has no buffer information
gtags-find-tag
semantic-ia-fast-jump
方法についての提案をいただければ幸いです
- すべてのセマンティック分析を失うことなく CEDET を抑制します。
- プロジェクト定義を修正したり、バグ レポートを提出したりできるように、CEDET が制御不能になった原因を突き止めてください。
- 一部のセマンティック分析が失敗する理由を特定します。
- セマンティックを取得して、より多くの情報をキャッシュして応答性を高めます。使用したいメモリがたくさんあります。
- システムディレクトリを含むさまざまな場所にある複数のプロジェクトの GNU グローバルを管理 (作成して最新に保つ)。
- で構成したプロジェクト間の依存関係を管理します
ede-cpp-root-project
。 - それぞれ独自の「config.h」とビルド ディレクトリを持つ、複数のビルド構成を持つプロジェクトを管理します。
記事http://alexott.net/en/writings/emacs-devenv/EmacsCedet.htmlにいくつかのヒントがあります。その記事以外のものを探しています。