Erlang開發環境Windows + Emacs + Distel的配置

來源:互聯網
上載者:User

這篇文章對Erlang + Emacs + Distel 的配置講得非常的詳細,但沒有相關的軟體下載超連結,我對它稍微做了點修改。比如我用的是最新的軟體安裝版本等。所以我就冒犯作者也把它拿來和大家分享一下,以便節省時間。

 

      Emacs + Distel是目前為止開發Erlang工程最好的組合(我也是聽說的,請選擇性接受)。光用Editplus + Erlang Syntax Highlight Plugin實在痛苦,在視窗之間不停地切來切去,調試起來也很成問題。google了一把,決定配一個Emacs + Distel的環境。配好後,準系統試了試,挺好用,進階功能還沒有用到,以後再說。

我的環境:
    Windows XP Pro SP2 + Erlang win32_R13B01 + EmacsW32-1.58 + distel-2009.03.06

 

1.    首先安裝Erlang和Emacs,安裝過程和一般應用軟體差不多,這裡略過。為避免路徑中空格帶來麻煩,Erlang的安裝路徑不要帶空格 (如E:/erl5.7.2)。

 

2.    然後配置環境變數:
    ERL_HOME=E:/erl5.7.2    PATH加入%ERL_HOME%/bin
    HOME=E:/erlang(這個路徑配置為erlang工程的目錄)

    解壓縮Distel到E:/erl5.7.2/lib/distel-2009.03.06(這個路徑隨意,便於管理,將它放到erlang的lib下面)

    在E:/erlang(環境變數HOME)建立一個名為“.emacs”的文字檔,內容(下面的路徑根據你實際的安裝路徑進行調整,深藍色字型是調整的對象) 如下:
;; Erlang mode<br />(setq load-path (cons "E:/erl5.7.2/lib /tools-2.6.4 /emacs" load-path))<br />(setq erlang-root-dir "E:/erl5.7.2 ")<br />(setq exec-path (cons "E:/erl5.7.2 /bin" exec-path))<br />(require 'erlang-start)</p><p>;; Distel<br />(let ((distel-dir "E:/erl5.7.2 /lib/tools-2.6.4 /elisp"))<br /> (unless (member distel-dir load-path)<br /> (setq load-path (append load-path (list distel-dir)))))<br />(require 'distel)<br />(distel-setup)</p><p>;; Some Erlang customizations<br />(add-hook 'erlang-mode-hook<br /> (lambda ()<br /> ;; when starting an Erlang shell in Emacs, default in the node name<br /> (setq inferior-erlang-machine-options '("-sname" "emacs"))<br /> ;; add Erlang functions to an imenu menu<br /> (imenu-add-to-menubar "imenu")))<br />;; A number of the erlang-extended-mode key bindings are useful in the shell too<br />(defconst distel-shell-keys<br /> '(("/C-/M-i" erl-complete)<br /> ("/M-?" erl-complete)<br /> ("/M-." erl-find-source-under-point)<br /> ("/M-," erl-find-source-unwind)<br /> ("/M-*" erl-find-source-unwind)<br /> )<br /> "Additional keys to bind when in Erlang shell.")<br />(add-hook 'erlang-shell-mode-hook<br /> (lambda ()<br /> ;; add some Distel bindings to the Erlang shell<br /> (dolist (spec distel-shell-keys)<br /> (define-key erlang-shell-mode-map (car spec) (cadr spec)))))</p><p>

    別忘記將以上路徑更換為自己實際的路徑 。注意路徑分隔字元 是正斜杠“/” 而不是反斜線“/”。這樣emacs啟動時可以自動載入erlang mode和distel的設定檔。

 

3.    再在E:/erlang(環境變數HOME)建立一個名為“.erlang.cookie”的文字檔,內容隨意,例如:
it_is_a_secret_file
    這個檔案是Erlang的Magic Cookie檔案。由於Distel需要和啟動並執行erlang節點進行通訊,因此這一步不可少。

 

4.    最後建立一個Emacs的捷徑,放在案頭或者工作列快速啟動,右擊捷徑選“屬性”,將“起始位置”設為"E:/erlang ”或"% HOME% "(HOME環境變數)。這樣Emacs啟動後可以直接定位到erlang工程的目錄。

 

    啟動Emacs,開啟一個erl檔案 ,應該能看到多了一個“Erlang”菜單,菜單下有一個Distel的子功能表 (注意:如果不開啟一個erl檔案是看不到“Erlang”菜單的。我就因為這個以為沒有安裝成功,浪費了2個小時。哎,沒仔細看內容啊!) ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 至此,環境全部配置完成。

以下是不錯的參考文章:

Bill Clementson's Blog:Distel = Emacs erlang-mode++(內容提到在Emacs視窗中如何開啟Debugger視窗)http://bc.tech.coop/blog/070528.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.