我在Windows上使用Emacs 25.1
我从here和here学习了使用自动完成的ede-mode
我在init.el中使用以下代码并使用ede项目模式
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Active semantic ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'cc-mode)
(require 'semantic)
(global-semanticdb-minor-mode 1)
; turn on automatic reparsing of open buffers in semantic
(global-semantic-idle-scheduler-mode 1)
; turn on Semantic
(semantic-mode 1)
; let's define a function which adds semantic as a suggestion backend to auto complete
; and hook this function to c-mode-common-hook
(defun my:add-semantic-to-autocomplete()
(add-to-list 'ac-sources 'ac-source-semantic)
)
(add-hook 'c-mode-common-hook 'my:add-semantic-to-autocomplete)
; turn on ede mode
(global-ede-mode 1)
; create a project for our program.
(ede-cpp-root-project "my project" :file "D:/Work/Learning/Emacs/my_program/src/main.cpp"
:include-path '("../" "../my_inc"))
有效。我的问题是我可以将ede项目设置作为局部变量,这样我就不需要将所有项目都设置在一个地方init.el
。
如果我能做到这一点,怎么做?
答案 0 :(得分:1)
您可以在打开源代码文件时调用ede-cpp-root-project
:
(add-hook 'c-mode-common-hook
(lambda () (interactive) (ede-cpp-root-project "my project" :file (buffer-file-name)
:include-path '("../" "../my_inc")))
或者代替(buffer-file-name)
,它的某些功能可以为您提供相应的根。