分页: 1 / 1

emacs23.2 semantic自动补全的问题

发表于 : 2011-09-12 4:07
cnfczn
emacs 23.2 cedet是emacs自带的
cedet-version
CEDET Version: 1.0
Requested File Loaded
Package Version Version Version
----------------------------------------------------------
cedet: 1.0 ok ok
eieio: 1.3 ok ok
semantic: 2.0 ok ok
srecode: 1.0 ok Not Loaded
ede: 1.0 ok Not Loaded
speedbar: 1.0 ok Not Loaded

打开.cpp文件以后 显示--:---- 已经解析完成.但是只能解析自己定义的结构体或者类成员./usr/include等目录的成员就完全不解析了.

比如
#include <fstream>
struct test
{
int a;int b;
};
int main()
{
ofstream fout;
test t;
//自定义结构体或者函数都能在complete-symbol解析出来
t.a = 1;
//complete-symbol ofstream的成员函数就不能解析出来.
fout.open();
return 0;
}


.emacs

(require 'cedet)
(setq semantic-default-submodes '(global-semantic-idle-scheduler-mode
global-semanticdb-minor-mode
global-semantic-idle-summary-mode
global-semantic-mru-bookmark-mode
))
(semantic-mode 1)

//这部分直接抄的emacser里的设置.
(defconst user-include-dirs
(list ".." "../include" "../inc" "../common" "../public"
"../.." "../../include" "../../inc" "../../common" "../../public"))
(defconst win32-include-dirs
(list "C:/MinGW/include"
"C:/MinGW/include/c++/3.4.5"
"C:/MinGW/include/c++/3.4.5/mingw32"
"C:/MinGW/include/c++/3.4.5/backward"
"C:/MinGW/lib/gcc/mingw32/3.4.5/include"
"C:/Program Files/Microsoft Visual Studio/VC98/MFC/Include"))
(let ((include-dirs user-include-dirs))
(when (eq system-type 'windows-nt)
(setq include-dirs (append include-dirs win32-include-dirs)))
(mapc (lambda (dir)
(semantic-add-system-include dir 'c++-mode)
(semantic-add-system-include dir 'c-mode))
include-dirs))

麻烦大家帮忙看看

Re: emacs23.2 semantic自动补全的问题

发表于 : 2011-09-12 4:28
cnfczn
配置文件里有关semantic-add-system-include 的部分删掉,自定义成员也能提示.唯独系统成员不能提示. :em20