eclipse 折腾小记

为了利用一些 Java IDE 的特性,决定这回折腾下万人迷 eclipse。比较搞笑的一件事是我 debian 下面的 eclipse 启动后在 splash screen 那里就僵死了,我查了半天,各种说法,我连 workspace 和 .eclipse 目录都给清理的干净了,它仍然能僵死,我都无语了。后来无一种发现点击了下 splash screen 然后 enter 就进去了(这是谁设计的暗号?)。

eclipse 3.8 的界面
eclipse 3.8 的界面

默认情况下 debian 是带了一些 eclipse 的 plugin 的,勉强能开发 java、c++ 程序。为了能用 emacs,我们第一步先折腾 eclim。

eclim

安装其实挺顺利的,就是本想顺便装个 scala 的 plugin 未遂,只得单独再搞。下载对应的 jar 然后 java -jar 执行就得到了一个安装界面,装好随后在 eclipse 里面的 window 里面就能启动 eclimd 的窗口,还能在打开文件的时候选择 gvim 了。

eclipse 里面嵌入的 gvim 界面
eclipse 里面嵌入的 gvim 界面

之后我们测试其 CLI 下面的发现启动有问题,似乎老是把 arch 弄成 32 位的,简单的看了看藏在 .eclipse/…/org.eclim*/bin/eclimd 里面的脚本在检测 ARCH 的后面强制设为 -d64 得了(程序真是不可靠的啊,居然通过检测目录名里面有没有某些字符判断是不是 64bit 的,我还以为就我这么干呢… )。之后就成功启动了 eclimd。

Okay,你在想 lz 怎么变成了 vi 党了,哦其实 lz 不是 vi 党呃… 这就变身!迅速通过 emacs 的 package.el 装好 emacs-eclim,之后按照这个网页里面的设置好 .emacs 文件,我们可以 start-eclimd 启动 eclimd,之后 auto-complete 就能用了!

单独的 emacs 进程管理着 eclimd,通过 eclimd 获得了 eclipse 里面的补全功能。
单独的 emacs 进程管理着 eclimd,通过 eclimd 获得了 eclipse 里面的补全功能。

嗯,大概先要这样的就行了。继续下一个事情。

——————
Until thy brother’s anger turn away from thee, and he forget that which thou hast done to him: then I will send, and fetch thee from thence: why should I be deprived also of you both in one day?

eclipse 折腾小记

magit

看名字大家就知道这玩意是 emacs + git,其实 emacs 通过自己的 version control 系统就能简单的控制很多版本控制系统,但是 git 的高级功能就没法用了。magit 填补了这一空白,安装其实很简单,大约就是让 emacs 把下载的 el 文件编译好,放到 .eamcs.d 这类目录下面,如果需要路径设置加上 add-to-list ‘load-path 即可。在 .emacs 里面通过 require ‘magit 载入。

之后我们可以通过打开 magit-status 这个 buffer 进行 git 操作。详细的见这里,想看看现场版的看这里。就说几个好处吧

  • 以前 local branching 的时候所有的文件需要重新打开,现在不需要了,我土死了
  • merge/rebase 都能做了,还能 push
  • 可以 rewrite log 虽然看起来还是复杂了一点,不过现在这个版本有提示功能更喜欢了
magit
magit

嗯,很可惜内部对 emacs 的支持比较有限,在这个基础上加上 code review 应该不难,不过很可惜居然内部都没有 build system 的 emacs 包,每次还得到命令行下面解决,太不给力。可能 eclipse 是王道吧…

——————-
Bring me venison, and make me savoury meat, that I may eat, and bless thee before the LORD before my death.

magit

JDEE

为了能在 emacs 里面编写 java 程序更加方便,于是尝试了一下很久以前就觉得应该尝试的 JDEE。主要参看了这个网页这个(注意 mac 下面的 JAVA_HOME 的设定很奇怪 -,-b)

JDEE 看起来还是一个很干净的环境,加上基本的补全之类的功能,比起 eclipse 来说还是更符合我的需求。

比如通过 C-c C-v C-c 编译,C-c C-v C-r 运行,C-c C-v C-. 补全(哇~~),C-c C-v j 插入 doc 部分和调试环境的整合,示例见此。比较高级用法是与 maven 之类的整合,这相当于从 maven 的 pom.xml 解析出来一些需要的信息。JDEE 还提供了 BeanShell,这个 shell 可以解析 Java 的语句,适合交互式学习某些 lib,尝试某些不清楚的特性等,呵呵不用抱怨 Java 没有 python 一样的命令行了… JDEE 还提供了一定的代码生成功能,避免一些重复性的劳动。更多的参见 user guide 吧。看来后面写 Java 可以好好折腾下这玩意了~

——————
And Abimelech said, I know not who has done this thing; neither did you tell me, neither yet heard I of it, but to day.

JDEE