`
shupili141005
  • 浏览: 119177 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类

Erlang开发环境Windows + Emacs + Distel的配置

阅读更多

摘自:http://www.51testing.com/?uid-205133-action-viewspace-itemid-170422

这篇文章对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
(setq load-path (cons  "E:/erl5.7.2/lib /tools-2.6.4 /emacs" load-path))
(setq erlang-root-dir "E:/erl5.7.2 ")
(setq exec-path (cons "E:/erl5.7.2 /bin" exec-path))
(require 'erlang-start)

 

;; Distel
(let ((distel-dir "E:/erl5.7.2 /lib/tools-2.6.4 /elisp"))
  (unless (member distel-dir load-path)
    (setq load-path (append load-path (list distel-dir)))))
(require 'distel)
(distel-setup)

 

;; Some Erlang customizations
(add-hook 'erlang-mode-hook
  (lambda ()
  ;; when starting an Erlang shell in Emacs, default in the node name
    (setq inferior-erlang-machine-options '("-sname" "emacs"))
    ;; add Erlang functions to an imenu menu
    (imenu-add-to-menubar "imenu")))
;; A number of the erlang-extended-mode key bindings are useful in the shell too
(defconst distel-shell-keys
  '(("\C-\M-i"   erl-complete)
    ("\M-?"      erl-complete)
    ("\M-."      erl-find-source-under-point)
    ("\M-,"      erl-find-source-unwind)
    ("\M-*"      erl-find-source-unwind)
    )
  "Additional keys to bind when in Erlang shell.")
(add-hook 'erlang-shell-mode-hook
   (lambda ()
     ;; add some Distel bindings to the Erlang shell
     (dolist (spec distel-shell-keys)
       (define-key erlang-shell-mode-map (car spec) (cadr spec)))))
    别忘记将以上路径更换为自己实际的路径 。注意路径分隔符正斜杠“/” 而不是反斜杠“\”。这样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

分享到:
评论
3 楼 shupili141005 2010-03-15  
“.emacs”本质上就是一个文本文件,emacs就是它的扩展名,文件名为空
你到Google搜索【弹出 “请输入文件名的” 警告对话框】就能找到你想要的答案了
Good lucky for you!
2 楼 shupili141005 2010-03-15  
你如用Windows的文本创建是不行的,用命令行可以,自己网上查查吧
或者,用高级文本编辑器(如EditPlus或ultraedit)
1 楼 xiao_maijia 2010-03-06  
您好,我按照您说的方法去做了
可是,你说的那些“在E:\erlang(环境变量HOME)创建一个名为“.emacs”的文本文件”这样的文件,怎么我的电脑每次在我创建的时候都会弹出 “请输入文件名的” 警告对话框,请问这是什么回事呢?请问您所说的名为“.emacs”的文本文件,它的扩张名又是什么呢?没有吗?文件名可以以.开头的?

相关推荐

Global site tag (gtag.js) - Google Analytics