4

Существует ли функция Emacs, которая переключается между файлами .cpp и .hpp , которые не находятся в одних и тех же каталогах?

Я знаю, что есть toggle-source.el, но он, очевидно, не обрабатывает случай, когда .cpp и .hpp находятся в разных каталогах. Но моя структура каталогов выглядит так:

project1/src/foo.cpp
project1/include/foo.hpp
project2/src/bar.cpp
project2/include/bar.hpp

Не должно быть сложно переключаться между src/foo.cpp и include/foo.hpp но я не говорю на Лиспе.

2 ответа2

2

Взгляните на ff-find-other-file в файле find-file.el. Если файлы .h и .cpp находятся в одном каталоге, это будет просто работать, но вы сможете использовать его в разных местах, изменив значение ff-search-directoryies.

2

Спасибо за подсказку, Брэд! В случае, если больше людей найдут этот вопрос, вот один способ, который работал для меня (в emacs-23.2.1):

(setq cc-other-file-alist
      '(("\\.c"   (".h"))
       ("\\.cpp"   (".h"))
       ("\\.h"   (".c"".cpp"))))

(setq ff-search-directories
      '("." "../src" "../include"))

;;; Bind the toggle function to a global key
(global-set-key "\M-t" 'ff-find-other-file)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .