有比etags和cscope更好的查找symbol定义的emacs插件吗
-
- 帖子: 54
- 注册时间: 2005-07-14 16:24
- 来自: 四川
有比etags和cscope更好的查找symbol定义的emacs插件吗
我用cscope查找c++ symbol经常会跳出来一大堆候选list让你选,我用eclipse查找c++ symbol一般能够直接找到所需的定义,不知道emacs还有更好地symbo查找的工具。谢谢!
上次由 torthtyo 在 2010-10-16 20:36,总共编辑 1 次。
自由不可取代
-
- 帖子: 159
- 注册时间: 2009-02-24 19:39
Re: 有比etags和cscope的查找symbol定义的emacs插件吗
xref 最好,但要钱,不过有破解。
global 次之,开源免费,且迅速进步中,源里的版本不行,要用最新版的。
PS,你那标题实在太渣了。
global 次之,开源免费,且迅速进步中,源里的版本不行,要用最新版的。
PS,你那标题实在太渣了。
-
- 帖子: 54
- 注册时间: 2005-07-14 16:24
- 来自: 四川
Re: 有比etags和cscope的查找symbol定义的emacs插件吗
谢谢,我去搜索一下这两个东西anewbie 写了:xref 最好,但要钱,不过有破解。
global 次之,开源免费,且迅速进步中,源里的版本不行,要用最新版的。
PS,你那标题实在太渣了。

自由不可取代
-
- 帖子: 54
- 注册时间: 2005-07-14 16:24
- 来自: 四川
Re: 有比etags和cscope的查找symbol定义的emacs插件吗
从网上搜到两个插件的链接,不确定是否正确,请查看并帮我确认一下。谢谢!anewbie 写了:xref 最好,但要钱,不过有破解。
global 次之,开源免费,且迅速进步中,源里的版本不行,要用最新版的。
PS,你那标题实在太渣了。
xref: http://www.xref-tech.com/about.html
global: http://www.gnu.org/software/global/globaldoc.html
自由不可取代
-
- 帖子: 159
- 注册时间: 2009-02-24 19:39
Re: 有比etags和cscope的查找symbol定义的emacs插件吗
然。torthtyo 写了:从网上搜到两个插件的链接,不确定是否正确,请查看并帮我确认一下。谢谢!anewbie 写了:xref 最好,但要钱,不过有破解。
global 次之,开源免费,且迅速进步中,源里的版本不行,要用最新版的。
PS,你那标题实在太渣了。
xref: http://www.xref-tech.com/about.html
global: http://www.gnu.org/software/global/globaldoc.html
以下纯属玩笑,别介意:
你确定这是你想到的最好的描述:那是我想到的最好的描述,你有更准确的表达方式吗?说来听听
代码: 全选
有比etags和cscope的查找symbol定义的emacs插件吗
代码: 全选
有比etags和cscope查找symbol定义更好的emacs插件吗
-
- 帖子: 54
- 注册时间: 2005-07-14 16:24
- 来自: 四川
Re: 有比etags和cscope的查找symbol定义的emacs插件吗
确实够烂,看来今天思维短路,改了一下标题,看起来逻辑清楚多了anewbie 写了:然。torthtyo 写了:从网上搜到两个插件的链接,不确定是否正确,请查看并帮我确认一下。谢谢!anewbie 写了:xref 最好,但要钱,不过有破解。
global 次之,开源免费,且迅速进步中,源里的版本不行,要用最新版的。
PS,你那标题实在太渣了。
xref: http://www.xref-tech.com/about.html
global: http://www.gnu.org/software/global/globaldoc.html
以下纯属玩笑,别介意:你确定这是你想到的最好的描述:那是我想到的最好的描述,你有更准确的表达方式吗?说来听听而不是这个?代码: 全选
有比etags和cscope的查找symbol定义的emacs插件吗
代码: 全选
有比etags和cscope查找symbol定义更好的emacs插件吗

自由不可取代
-
- 帖子: 54
- 注册时间: 2005-07-14 16:24
- 来自: 四川
Re: 有比etags和cscope的查找symbol定义的emacs插件吗
很奇怪的一个问题。我按装了global,并且配置.emacs如下
;;Load Global
(add-to-list 'load-path
"/home/deven/apps/share/gtags")
(autoload 'gtags-mode "gtags" "" t)
在/home/deven/svn-ropos/hdk_svn/drlvm下面建立index:
deven@deven:~/svn-repos/hdk_svn/drlvm$ gtags
在bash里面运行emacs -nw
查找function 定义:
M-x gtags-find-tag ret
Find tag: (default class_initialize) ret
Message buffer output:
Searching class_initialize ... Done
emacs跳转到Initialize.cpp的class_initialize函数定义行。一切正常。
然后当我直接在图形界面下打开emacs,执行同样的操作:
M-x gtags-find-tag ret
Find tag: (default class_initialize) ret
Message buffer output:
Searching for program: no such file or directory, global
百思不得其解!!
刚刚发现了一个可能导致错误的地方,terminal 下面的emacs和图形界面下面的emacs的messge buffer的output有一点不同
emacs -nw:
Searching class_initialize ... Done
emacs
setq: Searching for program: no such file or directory, global
Searching for program: no such file or directory, global
图形界面下面的output会多一条
setq: Searching for program: no such file or directory, global
不知道是什么缘故
;;Load Global
(add-to-list 'load-path
"/home/deven/apps/share/gtags")
(autoload 'gtags-mode "gtags" "" t)
在/home/deven/svn-ropos/hdk_svn/drlvm下面建立index:
deven@deven:~/svn-repos/hdk_svn/drlvm$ gtags
在bash里面运行emacs -nw
查找function 定义:
M-x gtags-find-tag ret
Find tag: (default class_initialize) ret
Message buffer output:
Searching class_initialize ... Done
emacs跳转到Initialize.cpp的class_initialize函数定义行。一切正常。
然后当我直接在图形界面下打开emacs,执行同样的操作:
M-x gtags-find-tag ret
Find tag: (default class_initialize) ret
Message buffer output:
Searching for program: no such file or directory, global
百思不得其解!!
刚刚发现了一个可能导致错误的地方,terminal 下面的emacs和图形界面下面的emacs的messge buffer的output有一点不同
emacs -nw:
Searching class_initialize ... Done
emacs
setq: Searching for program: no such file or directory, global
Searching for program: no such file or directory, global
图形界面下面的output会多一条
setq: Searching for program: no such file or directory, global
不知道是什么缘故
自由不可取代
-
- 帖子: 54
- 注册时间: 2005-07-14 16:24
- 来自: 四川
-
- 帖子: 54
- 注册时间: 2005-07-14 16:24
- 来自: 四川
Re: 有比etags和cscope的查找symbol定义的emacs插件吗
我大概知道了错误的原因,图形界面下面的emacs找不到global程序,在我的机器下面它在/home/deven/apps/bin/下面,我把该路径配置在.bashrc的PATH下面,但是重启机器gnome不会从该文件读环境变量。 我记得有个地方可以设置环境变量,让系统初始化的时候从该文件读取并设置环境变量。torthtyo 写了:上面帖子的环境是 ubuntu10.10, emacs是GNU Emacs 23.1.1
直接从shell下面emacs启动emacs而不是从gnome的启动菜单里面启动emacs就没有这个问题
自由不可取代
-
- 帖子: 54
- 注册时间: 2005-07-14 16:24
- 来自: 四川
Re: 目前为止感觉global很好用,但是它只能find object的定义,不能find它的声明
当某个object只被头文件声明,它的定义在当前的项目不存在的时候,global只能搜索所有该object的引用,这个我认为是一个缺陷。
比如我搜索vm_env->bootstrap_class_loader->LoadVerifyAndPrepareClass(vm_env, s); 中bootstrap_class_loader的定义,global返回null,其实这个变量声明在一个头文件environment.h里面。eclipse可以很轻松的找到它的声明,而gloabl只能用gtags-find-symbol查找所有的引用,这样搜索下来就是一大堆匹配的结果。
我觉得从技术上来讲global应该很容易实现查找头文件声明的功能。不知道为什么没有提供这个功能。
比如我搜索vm_env->bootstrap_class_loader->LoadVerifyAndPrepareClass(vm_env, s); 中bootstrap_class_loader的定义,global返回null,其实这个变量声明在一个头文件environment.h里面。eclipse可以很轻松的找到它的声明,而gloabl只能用gtags-find-symbol查找所有的引用,这样搜索下来就是一大堆匹配的结果。
我觉得从技术上来讲global应该很容易实现查找头文件声明的功能。不知道为什么没有提供这个功能。
自由不可取代
-
- 帖子: 159
- 注册时间: 2009-02-24 19:39
-
- 帖子: 159
- 注册时间: 2009-02-24 19:39
Re: 有比etags和cscope更好的查找symbol定义的emacs插件吗
忘说了,emacs 不需要依赖系统环境变量——使用 emacs 自己的 exec-path 变量就行。