Como alternar entre .cpp e .hpp que não estão no mesmo diretório?

4

Existe uma função do Emacs que alterna entre arquivos .cpp e .hpp que não estão nos mesmos diretórios?

Eu sei que há toggle-source.el , mas aparentemente ele não controla o caso em que .cpp e .hpp estão em diretórios diferentes. Mas minha estrutura de diretórios é assim:

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

Não deve ser difícil alternar entre src/foo.cpp e include/foo.hpp , mas não falo Lisp.

    
por dehmann 10.03.2011 / 01:55

2 respostas

2

Dê uma olhada em ff-find-other-file , em find-file.el . Se os arquivos .h e .cpp estiverem no mesmo diretório, isso simplesmente funcionará, mas você poderá usá-lo com locais diferentes, modificando o valor de ff-search-directories .

    
por 11.03.2011 / 00:12
2

Obrigado pela dica Brad! Caso mais pessoas encontrem essa questão, aqui está uma maneira que funcionou para mim (no 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)
    
por 26.05.2011 / 03:47

Tags