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. [New learn]AutoLayout调查基于code

    代码https://github.com/xufeng79x/TestAutolayout-code2 0.插在前面 必须关闭view的自动缩放掩码,自动缩放掩码是autolayout出现之前系统管理 ...

  2. 判断ArcSDE是否安装成功

    安装SDE后在ArcMap的Toolboxes - Data Management Tools中会新增Geodatabase Administration 即数据管理工具下面会新增地理数据库管理

  3. P2725 邮票 Stamps(完全背包+限制填充数)

    题目链接:https://www.luogu.org/problem/show?pid=2725 题目大意:给一组 N 枚邮票的面值集合(如,{1 分,3 分})和一个上限 K —— 表示信封上能够贴 ...

  4. ZOJ-3314

    CAPTCHA Time Limit: 1000 MS Memory Limit: 32768 KB 64-bit integer IO format: %lld , %llu Java class ...

  5. 微信openid和UnionID (多公众号如何判断是否是同一人)

    以下内容源于网络,因为非博客园信息,有想收藏,只能直接复制粘贴了,还希望原稿人员理解. 微信公众平台更新,为开发者提供UnionID机制 经开发者反馈,由于同一公司下多个公众号之间需要用户帐号互通,微 ...

  6. JAVA二叉树的创建以及各种功能的实现

    直接上代码了,代码说得很清楚了 package BTree; public class BTree { private Node root; private class Node { private ...

  7. hbase+hadoop+hdfs集群搭建 集成spring

    序言 最近公司一个汽车项目想用hbase做存储,然后就有了这篇文字,来,来,来, 带你一起征服hbase,并推荐一本书<hbase权威指南> 这是一本极好的hbase入门书籍,我花了一个晚 ...

  8. react native 增加react-native-camera

    前提:已经正常运行的项目 第一步:使用命令加入react-native-camera,并且关联react-native-camera, yarn add react-native-camera rea ...

  9. Office 2016系列下载地址

    版本:Office 2016 Pro Plus 64位文件名:SW_DVD5_Office_Professional_Plus_2016_64Bit_ChnSimp_MLF_X20-42426.ISO ...

  10. 洛谷——P1629 邮递员送信

    P1629 邮递员送信 题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要 ...