emacs java 項目開發 jdee介紹(Emacs Java Development Environment)


 

 

Emacs Java Development Environment

1 引言

非常感謝室友freexgh的介紹,讓我接觸了emacs這個軟件。學習emacs這兩年,深深地感受到了此軟件的強大,高度的可擴展性,很完美的自我文檔化,使得emacs如此的靈活。在emacs世界里你會覺得你可以盡情地編程,有什么不滿意的,看人家的配置,或者看人家的實現過程,自己修改配置。 Emacs的語言Elisp 語言非常的容易學習,有了它,就有了你能讓emacs做地一切。學習emacs是種積累,可以不停地網上堆積知識,突然發現干什么都離不開emacs了,emacs可以提供其他軟件統一的操作界面。你可以用你對emacs熟知的一切來操作其他軟件。 一直在網上索取別人的emacs學習心得和配置。直到發現關於emacs的資料很少能被搜到為止,覺得非常心痛,這么好地軟件在國內並不是那么地熱衷,至少在網站上介紹它的使用的不是那么多了。我很想把自己學習和配置emacs各個功能的學習心得貢獻出來,如果能夠幫到那些和我一樣,對emacs非常喜愛的朋友,那真得是我的榮幸。 emacs可以做非常多地事情,別的基本地功能可以通過讀emacs 自帶的info或者網站 emacs wiki的介紹就可以學習非常多。由於現在學習和工作中用到地J2ee開發比較多,網上關於JDEE的使用又不是非常多。因此記錄下來emacs中關於JDEE開發的一些說明和常用插件的介紹。

2 emacs j2EE 開發環境 JDEE

 

2.1 整體說明

如果你已經很熟悉emacs這個軟件,那么你就不會否認emacs編輯單個文件的強大,如果emacs能夠很好的開發企業項目,那么它的開發項目不會比eclipse低,如果有更多地人投入到emacs地使用中來,那么會有更多優秀的插件貢獻出來,那么emacs插件的成長速度會是非常驚人的。 JDEE的官方網站是:http://jdee.sourceforge.net/ JDEE的簡單介紹可以從JDEE官方網站了解到,可以通過讀JDEE User's Guide 可以基本地了解JDEE的使用。 JDEE的svn Repositories 地址為:http://jdee.svn.sourceforge.net/viewvc/jdee/ 也可以從emacswiki 中的programming 目錄中找到關於java development environment地很多資料,emacswiki的地址為:http://www.emacswiki.org/

2.2 變量說明

jde-compile-option-directory jde-built-class-path jde-run-class-path jde-sourcepath jde-global-classpath 還有很多這些變量,JDEE分得挺細的。你可以查閱:http://jdee.sourceforge.net/jdedoc/html/jde-ug/jde-ug.html 了解到更多的相關變量地功能。還有JDE menu中自定義代碼生成的過程。 以上一些變量都是可以通過M-x customize-variable 來進行配置的,你可以選擇 set current session把它保存到當前的工程文件prj.el中或者選擇set future session自動保存到.emacs配置文件中供所有項目使用。 jde-complete-functions 對這個變量特別做些說明,因為這個變量是設定語義補全的方式的,他有jde-complete-inline,jde-complete-menu,jde-complete-minibuffer三種默認的提示形式,但是都不是特別好用,可以用網上有人開發的一個自定義的補全形式jde-complete-ido,它可以將補全形式和ido和yasnippet結合起來,比較友好,速度也還可以。這個函數地代碼如下: 轉載:

    ;;jde completion with ido and yasnippet
(defun jde-complete-ido ()
  "Custom method completion for JDE using ido-mode and yasnippet."
  (interactive)
  (let ((completion-list '()) (variable-at-point (jde-parse-java-variable-at-point)))
    (dolist (element (jde-complete-find-completion-for-pair variable-at-point nil) nil)
      (add-to-list 'completion-list (cdr element)))
    (if completion-list
        (let ((choise (ido-completing-read "> " completion-list nil nil (car (cdr variable-at-point)))) (method))
          (unless (string-match "^.*()$" choise)
            (setq method (replace-regexp-in-string ")" "})"(replace-regexp-in-string ", " "}, ${" (replace-regexp-in-string "(" "(${" choise)))))
          (delete-region (point) (re-search-backward "\\." (line-beginning-position)))
          (insert ".")
          (if method
              (yas/expand-snippet  method)
            (insert choise)))
      (message "No completions at this point"))))
(add-hook 'jde-mode-hook 'jde-complete-ido)

2.3 插件說明

很多插件還要自己根據需要查閱和使用。

2.3.1 JDIbug

官方網站上已經介紹地非常的詳細了,這里就不在贅述了。 官方網站地址如下: http://jdibug.googlecode.com/svn/trunk/jdibug.html JDEE利用該插件可以非常方便地進行遠程調試,你可以用它來進行tomcat和glassfish的遠程調試。效果還不錯,如圖。

2.3.2 Jde-usage

這個插件也是非常的強大,利用這個插件可以實現一個類中方法的調用關系。它的速度很快,主要是用來實現一個方法在什么地方被調用,一個類它的祖先是什么,被哪些類繼承等等。 jde-usage的官方地址為:http://jde-usages.sourceforge.net/ 其他插件

2.3.3 jde-flymaker

可以利用很多語言檢查器進行線上的語義檢查,可以利用eclipse的語法檢查器ecj,到達與eclipse語法檢查,語義檢查一樣的效果

2.3.4 jde-jalopy

格式化java文件

2.3.5 jmaker

自動生成和編輯java的makefile文件

2.3.6 decompiler

反編譯class文件

2.3.7 maven插件

配置maven項目,網上還有maven項目,eclipse項目和jdee項目互轉的插件。

2.3.8 jde-lint4j

大家插一下lint4j就知道它是做什么的了。又一個強大的插件。

2.3.9 jde-findbugs

 

2.3.10 …其他插件可以通過google來搜索。發現百度在這方面搜不到。。

 

Author: <Administrator@chensheng>

Date: 2012-03-28 10:28:41

HTML generated by org-mode 6.33x in emacs 23


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM