Java是开源的世界,如何快速的搜索到你需要的Java源码呢?
2009年7月17日,GrepCode团队发布了一个有趣的 Java源码搜索引擎-GrepCode 。与现有的各种搜索引擎相比,Java源码搜索引擎-GrepCode把Java源码搜索带到了一个新的高度。Java源码搜索引擎-GrepCode 不但提供了语法的高亮显示和JavaDoc的现实,还提供了一种界面非常友好的的Java类型集成视图,便于人们搜索。用户可以很容易的找到某个特定版本代码依赖的工程代码。Java源码搜索引擎-GrepCode 同时允许用户从某个Java方法的调用直接定位到调用的Java方法体。堆栈跟踪搜索是 Java源码搜索引擎-GrepCode的另一大亮点,该功能允许程序员快速定位某个异常对应的代码,而不需要下载整个功能的源码包或者第三方的源码包。
笔者使用Java源码搜索引擎搜索”tapestry”
返回结果是两栏: Types和 Projects,其中Types返回的结果是tapestry各个版本中的接口和类的定义列表,而Projects返回的结果是tapestry各个版本的包名称,可见Java源码搜索引擎-GrepCode 的返回结果十分的清晰人性化,是开发人员手头查阅源码的首选!

Java源码搜索引擎-GrepCode网址:

http://grepcode.com

Eclipse的GC插件和任何其它的Eclipse插件一样,都可以通过以下步骤安装:

  1. Help -> Install new software.

  2. 点击"Add..."按钮,输入Name 和 GrepCode 的更新网址http://repository.grepcode.com/java/ext-eclipse/
  3. 点击 "Next"按钮进入"Install Details" 页

  4. 接受许可说明并且点击"Finish"按钮。

用法

经过如上步骤在Eclipse中成功安装GC插件以后,我们可以使用它浏览我们代码中使用的开源库中的源码,举例说明如下:

    • 假设你正在上一个项目,涉及到一个开源库,如JGroups。你的项目注册作为其依赖的JGroups-all.jar(即:假设在你的工程中使用到了JGroups这种开源代码库中的某个类),如下所示。

    • “JGroupsTest”工程中用的JGroups类库中的“JChannel”类。在“JChannel”类上我们按下F3键查看“JChannel”类源码时,我们会发现“Class File Editor”中提示“未找到源代码”,我们只能浏览到“JChannel”的部分说明,并不是我们想看的“JChannel”类的源代码。

    • 虽然在“Class File Editor”视图中我们没有看到“JChannel”类源码,但是我们可以点击工具面板上的“GC Search”按钮,通过GC插件搜索GrepCode内的的“JChannel”类。搜索结果显示在IDE中的“GC Search”Tab页中。
    • 现在我们可以选择跟我们工程相对应的源码版本来查看"JChannel"类的源代码了。

    • 我们也可以通过快捷键“Ctrl+M”最大化"Class File Editor"视窗以方便我们阅读源码。

[Eclipse插件] Eclipse中如何安装和使用GrepCode插件的更多相关文章

  1. Eclipse中如何安装和使用GrepCode插件

    GrepCode(GC)Eclipse插件允许Eclipse用户在Eclipse IDE中搜索由GrepCode提供的工厂类.本教程介绍如何安装和使用插件.使用Eclipse3.5(Galileo)的 ...

  2. Eclipse中如何安装和使用GrepCode插件 (转)

    GrepCode(GC)Eclipse插件允许Eclipse用户在Eclipse IDE中搜索由GrepCode提供的工厂类.本教程介绍如何安装和使用插件.使用Eclipse3.5(Galileo)的 ...

  3. win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件

    win10下通过编译源码方式在chrome中成功安装react-devtools开发工具插件   1.去git上下载react-devtools文件到本地,https://github.com/fac ...

  4. FineReport中如何安装移动端H5插件

    1. HTML5报表插件安装及使用编辑 插件安装 插件网址以及设计器插件安装方法和服务器安装插件的方法可以官网上面搜索,这里就不做详细介绍了. 移动端HTML5报表使用方法 安装好插件后,在浏览器中调 ...

  5. js检测浏览器中是否安装了flash播放插件

    这两天工作中需要在网页中嵌入flash小游戏,我使用的是swfobject.js version:1.5.其他方面都很好,唯独版本检测这里一直没有搞通,后来实在无奈之下,改用js来检测浏览器的flas ...

  6. JS 检测浏览器中是否安装了特定的插件

    1.检测非IE浏览器 可以使用plugins数组来达到这个目的,例: //检测插件(在IE中无效) function hasPlugin(name){ name = name.toLowerCase( ...

  7. 每日vim插件--vim中的文本对象及相关插件

    最近在个人博客上 http://foocoder.com  每天都会介绍一个vim插件,想起来园子也好久没更新了,也来更新一篇. 今天按读者留言的要求,介绍下文本对象.同时还会介绍我在用的几个文本相关 ...

  8. Idea安装findbugs插件,以及findbugs安装find security bugs插件

    第一:先讲述Idea怎么安装findbugs插件 具体操作如下面的图所示: 然后就可以安装findbugs 第二:findbugs怎么安装find security bugs这个find bugs的插 ...

  9. Eclipse中如何安装Git插件

    现在的Eclipse一般都自带Git插件. 检查Eclipse是否有Git插件: 方法一:Help—>About Eclipse,出现下面的图标,说明Eclipse中已有Git插件,就不用安装了 ...

随机推荐

  1. (转)函数后面加const--C++ const成员函数

    类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变. 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 const,而对于 ...

  2. 关于那些Android中不常用的设置属性

    很多在manifest中的属性我们经常遗忘了它们,或者经常看到但又不是很明白它的作用.那么在这里我就拿了一些属性简单的解释一下,防止以后碰到却不知道其中的意思.不是很全,以后会断断续续的补充吧 一.a ...

  3. leetcode 之Remove Duplicates from Sorted List(17)

    很简单的一题,需要注意的是如果某结点重复了记得将其删除. ListNode *deleteDuplicates(ListNode *head) { if (head == nullptr) retur ...

  4. django的事务

    在某些时候,你可能会在视图修改两张数据表.并且想让他们同时成功或者同时失败.这就是事务的原子性(atomicity).在django中应该怎么做呢? 详细可以参考官方文档:https://yiyibo ...

  5. asp.net获取相对文件的绝对路径

    HttpContext.Current.Server.MapPath("/sign/");

  6. 编写简单的spring mvc程序,在tomcat上部署

    编写简单的spring mvc程序,在tomcat上部署 1 用java 配置spring mvc ,可以省去web.xmlpackage hello;import org.springframewo ...

  7. 9. Spark Streaming技术内幕 : Receiver在Driver的精妙实现全生命周期彻底研究和思考

        原创文章,转载请注明:转载自 听风居士博客(http://www.cnblogs.com/zhouyf/)       Spark streaming 程序需要不断接收新数据,然后进行业务逻辑 ...

  8. http://download.eclipse.org/technology/m2e/releases install error

    Can you try running Eclipse as Admin and try this again?. Let me know how that goes. what is the upd ...

  9. Topcoder Srm 673 Div2 1000 BearPermutations2

    \(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...

  10. ARC-100 C - Linear Approximation

    题面在这里! 可以看成点集{a[i]-i}和b之间距离的和,于是找到中位数就可以直接算了2333. #include<bits/stdc++.h> #define ll long long ...