当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : emacs无法跳转父类中的函数,如何解决
帖子发表于 : 2011-04-07 16:38 

注册: 2008-07-21 10:02
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
本人主要用cedet进行c++编程,发现如果调用一个类A的函数,比如f1(),但是这个函数是在这个类的父类B中,我发现emacs对于这种情况没有办法semantic,有没有人知道这种情况怎么办?

具体就是
class B{
puublic:
void f1();
};

class A:public B{
public:
void f2();
.......
};

当生成一个A的类 a 时,比如我想调用a.f2()时,当我敲入.时emacs能够给出f2,但是无法给出f1,不知道大家怎么解决的?

在这里感谢2楼提出的方法,本人也大致看了一下auto-complete的manual,发现这个插件只是针对当前buffer和已有的dictionary来进行解析,也就是说上面的A类和B类如果是本人自己编写的,auto-complete能给出对应的函数列表,因为auto-complete能将写入的函数加入到对应的dictionary当中。那么现在的问题是,如果我现在新导入一个c++类库,比如本人目前正在用Qt编程,那么它的基本类库肯定不会自动加入到auto-complete的dictionary中,所以auto-complete还是无法给出父类的函数。(也许本人理解有误,还请各位大虾指正)。

举个详细的例子,比如QApplication是从QCoreApplication当中继承过来的,其中的postEvent是QCoreApplication的一个函数,如果我用QApplication,emacs就无法找到postEvent,尽管我已经加载了Qt对应的include列表。在这点上eclipse就能够准确无误的给出,本人绝对不是来推荐eclipse的,只是想知道emacs是不是也有相应的插件能够给出准确的函数列表。当然我也不得不承认,如果类是自己编写的,那么auto-complete还是能给出父类的函数。如果哪位大虾知道如何解决,请告诉我,在下感谢万分!


最后由 firestone 编辑于 2011-04-08 8:50,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: emacs无法跳转父类中的函数,如何解决
帖子发表于 : 2011-04-07 17:03 
头像

注册: 2009-07-25 1:57
帖子: 701
送出感谢: 5
接收感谢: 13
没有问题。下最新的cedet不要用自带的,auto-complete插件,clang 和 auto-complete-clang.el


附件:
Screenshot.png
Screenshot.png [ 98.22 KiB | 被浏览 1035 次 ]



_________________
https://github.com/tangboyun
http://tangboyun.is-programmer.com/
提问的智慧————Eric Steven Raymond
回答的智慧————Andrew Clarke
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
急急急标题什么的,最讨厌了!
急急复急急,急急何其多,我生待急急,万事急急急。
页首
 用户资料  
 
3 楼 
 文章标题 : Re: emacs无法跳转父类中的函数,如何解决
帖子发表于 : 2011-04-07 17:10 

注册: 2008-07-21 10:02
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
自己顶一下,希望有达人能帮忙解决!


页首
 用户资料  
 
4 楼 
 文章标题 : Re: emacs无法跳转父类中的函数,如何解决
帖子发表于 : 2011-04-08 15:01 

注册: 2008-07-21 10:02
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
继续呼唤高手


页首
 用户资料  
 
5 楼 
 文章标题 : Re: emacs无法跳转父类中的函数,如何解决
帖子发表于 : 2011-04-12 9:20 

注册: 2008-07-21 10:02
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
没人知道吗?


页首
 用户资料  
 
6 楼 
 文章标题 : Re: emacs无法跳转父类中的函数,如何解决
帖子发表于 : 2011-04-26 14:34 

注册: 2008-07-21 10:02
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
自己顶


页首
 用户资料  
 
7 楼 
 文章标题 : Re: emacs无法跳转父类中的函数,如何解决
帖子发表于 : 2011-04-29 16:46 

注册: 2008-01-15 14:11
帖子: 14
送出感谢: 0 次
接收感谢: 0 次
我刚刚试了一下,可以的,参考下图(fileselector 的定义在别的文件中)。
附件:
a.png
a.png [ 32.64 KiB | 被浏览 947 次 ]



配置文件可参考这里: https://tubo-emacs-config.googlecode.com.
其中,和 cedet 相关的文件集中在其中的 trunk/.emacs/rc/11-rc-prog-mode.el 。

只要能够让 cedet 正确的找到所需分析的文件,就应该能通过 semantic-ia 自动补齐。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: emacs无法跳转父类中的函数,如何解决
帖子发表于 : 2011-05-03 15:49 
头像

注册: 2009-07-25 1:57
帖子: 701
送出感谢: 5
接收感谢: 13
Qt库的设置,我记得就前几天在坛子里发过个链接里有专门谈到的,http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html

Qt的补全 自己去检查有没有正确的设置预处理器,semantic-lex-c-preprocessor-symbol-file就是这个变量。


_________________
https://github.com/tangboyun
http://tangboyun.is-programmer.com/
提问的智慧————Eric Steven Raymond
回答的智慧————Andrew Clarke
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
急急急标题什么的,最讨厌了!
急急复急急,急急何其多,我生待急急,万事急急急。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译