2012-01-09 4 views
1

이맥스에 새로워졌습니다. Gtk + 3에 대한 자동 완성을 구현할 수 없습니다. UI로 CEDET 및 자동 완료 모드를 사용하고 있습니다. Semantic은 include 파일()을 찾을 수 없지만 열린 버퍼에서 코드의 태그를 구문 분석 할 수 있습니다.이맥스 자동 완성 모드

은 여기 내 이맥스는

;;---------------------------------------------------------------------------------- 
(load-file "~/.emacs.d/cedet-1.0/common/cedet.el") 
(global-ede-mode 1) 
(semantic-load-enable-excessive-code-helpers) 
;;(semantic-load-enable-semantic-debugging-helpers) 
;; ede customization 
(require 'semantic-lex-spp) 
(ede-enable-generic-projects) 
(setq senator-minor-mode-name "SN") 
(setq semantic-imenu-auto-rebuild-directory-indexes nil) 
(global-srecode-minor-mode 1) 
(global-semantic-mru-bookmark-mode 1) 
(require 'semantic-decorate-include) 
;; gcc setup 
(require 'semantic-gcc) 
;; smart completions 
(require 'semantic-ia) 
(setq-mode-local c-mode semanticdb-find-default-throttle 
      '(project unloaded system recursive)) 
(setq-mode-local c++-mode semanticdb-find-default-throttle 
      '(project unloaded system recursive)) 
(setq-mode-local erlang-mode semanticdb-find-default-throttle 
      '(project unloaded system recursive)) 
(require 'eassist) 
(require 'semanticdb) 
(global-semanticdb-minor-mode 1) 
;; gnu global support 
(require 'semanticdb-global) 
(semanticdb-enable-gnu-global-databases 'c-mode) 
(semanticdb-enable-gnu-global-databases 'c++-mode) 
;; ctags 
(require 'semanticdb-ectag) 
;;(semantic-load-enable-primary-exuberent-ctags-support) 
(global-semantic-tag-folding-mode) 

(defun my-cedet-hook() 
(local-set-key [(control return)] 'semantic-ia-complete-symbol) 
(local-set-key "\C-c?" 'semantic-ia-complete-symbol-menu) 
(local-set-key "\C-c>" 'semantic-complete-analyze-inline) 
(local-set-key "\C-cp" 'semantic-analyze-proto-impl-toggle)) 
(add-hook 'c-mode-common-hook 'my-cedet-hook) 

;;semantic gtk gdk 
(defun my-semantic-hook() 
(semantic-add-system-include "/usr/include/gtk-3.0/gtk/" 'c-mode) 
(semantic-add-system-include "/usr/include/gtk-3.0/gdk/" 'c-mode)) 
(add-hook 'semantic-init-hooks 'my-semantic-hook) 

;; END CEDET 
;;---------------------------------------------------------------------------- 

어떤 제안 conf의? 감사.

답변

1

설정이 괜찮습니다. 추가 시스템에 포함 된 "gtk /"및 "gdk /"가 문제가 될지 궁금합니다. 소스 파일에서 다음

(semantic-add-system-include "/usr/include/gtk-3.0" 'c-mode) 

,

#include <gtk/gtk.h> 

이어 기준 : :

gtk_[C-c ?] 

는 분 소요 정도 모든 헤더를 처리 난 그냥이 GTK-3.0 사용하여 작업 있어요 파일을 만들지 만 예상대로 완료 메뉴를 반환합니다.

이것이 작동하지 않는다면 이전 버전의 CEDET를 사용하고있는 것 같습니다. 나는 바자 저장소의 최신 개발자 버전을 사용한다; 나는 당신이 똑같이하는 것이 매우 좋습니다.

+0

감사합니다. CEDET를 업데이트하고 여분의 "gtk gdk"을 제거한 후에는 의미론이 작동하고 포함 된 파일을 읽습니다. 기본값 대신 http://www.emacswiki.org/emacs/ 자동 완성 UI를 사용하는 것이 좋습니다. 모든 힌트 :). 다시 한 번 감사드립니다. – user1138677