如何在不在同一目录的 .cpp 和 .hpp 之间切换?

如何在不在同一目录的 .cpp 和 .hpp 之间切换?

Emacs 是否有一个函数可以在不在同一目录中的文件.cpp之间切换?.hpp

我知道切换源.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但我不会说 Lisp。

答案1

看一眼ff-查找其他文件, 在查找文件如果 .h 和 .cpp 文件位于同一目录中,则此方法有效,但您可以通过修改ff-搜索目录

答案2

感谢 Brad 的提示!如果更多人发现这个问题,这里有一个对我有用的方法(在 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)

相关内容