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. 初学jmeter

    jmeter安装的前提需要有jdk环境,下载安装好jdk环境后记得要设置好环境变量. 配置环境变量:右击“我的电脑”-->"高级"-->"环境变量" ...

  2. cf786a

    title: CodeForces 786A Berzerk data: 2018-3-3 10:29:40 tags: 博弈论 bfs 无限 with draw copyright: true ca ...

  3. python代码实现dijkstra算法

    求解从1到6的最短路径. python代码实现:(以A-F代表1-6) # Dijkstra算法需要三张散列表和一个存储列表用于记录处理过的节点,如下: processed = [] def buil ...

  4. addeventlistener监听scroll跟touch

    这三个事件只在手机上生效 touchstart,手指开始触屏 touchmove,手指移动 touchend,手指触屏结束   这个事件在手机上跟在pc端都生效 scroll事件     addeve ...

  5. Linux 基础——处理文件与目录的命令

    继续第三天学习,每天下班后积累一点点,始终相信厚积薄发. 一.处理文件的命令 touch dest_file:在当前目录下创建指定的文件. cp source dest:将指定的猿文件复制到目标文件, ...

  6. qtp录制时间控件不允许用户手动输入的解决办法

    qtp录制时间控件不允许用户手动输入的解决办法 [前面的话] 一边学习qtp,一边用自己的项目试着写代码,而遇到一个问题就会让自己卡壳很久,这次也是这样的,在写好了登录代码以后,自己就试着写第一个预订 ...

  7. lr中exit(-1)和return 0的区别

    LR脚本实践:关于lr中exit(-1)和return 0的区别 exit(-1):从当前action里面exit(-1)所在行,当前迭代里面直接退出来,终止运行: return 0:忽略当前acti ...

  8. [jquery] input值发生变化则触发

    $("#a").val("你好").trigger("change"); $("#a").bind("chan ...

  9. ButterKnife不同版本配置

    7.0.1版本 compile 'com.jakewharton:butterknife:7.0.1' 8.0.1版本 module: apply plugin: 'com.android.appli ...

  10. 线性基【CF845G】Shortest Path Problem?

    Description 给定一张 \(n\) 个点 \(m\) 条边的无向图,一开始你在点 \(1\),且价值为 \(0\) 每次你可以选择一个相邻的点,然后走过去,并将价值异或上该边权 如果在点 \ ...