CEDET не может использовать GNU Global для Symref
Я уже включил использование баз данных GNU Global:
(setq cedet-global-command "global")
(when (cedet-gnu-global-version-check t)
(semanticdb-enable-gnu-global-databases 'c-mode t)
(semanticdb-enable-gnu-global-databases 'c++-mode t))
cedet-gnu-global-version-check
показывает правильную версию и cedet-gnu-global-show-root
переходит к правильному корню проекта. Однако, согласно ответу Эрика здесь: Как я могу определить, использует ли CEDET GNU Global?, оценивая (semantic-symref-detect-symref-tool)
всегда дает мне grep
, хотя CEDET признал версию GNU Global.
Как я могу действительно включить CEDET для использования GNU Global?
Редактировать: я должен заставить CEDET использовать GNU Global:
(setq-default semantic-symref-tool "global")
Не уверен, что это правильный способ установки, но в настоящее время это мой обходной путь, чтобы CEDET использовал GNU Global. Или, может быть (semantic-symref-detect-symref-tool)
глючит?
1 ответ
В вашем редактировании, настройка semantic-symref-tool
в "глобальный" это хороший способ начать использовать его.
Механизм обнаружения (по умолчанию) будет пытаться использовать Global, если есть GPATH
файл в корне вашего проекта. Корень вашего проекта определяется через EDE или, возможно, текущий каталог. Таким образом, если у вас есть какой-то проект в ~/myproj
, но GPATH
в ~/myproj/src
тогда это будет пропущено.