`
dcaoyuan
  • 浏览: 308875 次
社区版块
存档分类
最新评论

ErlyBird - Erlang IDE 0.11.0 发布

阅读更多
功能:
  • 语法检查
  • 语法高亮
  • 函数导航窗口
  • 代码折叠
  • 缩进
  • 代码补齐(内置函数、OTP函数、项目函数等),按Ctrl+Space或自己定义
  • 跳转到函数定义处(OTP函数、项目函数),按Ctrl点击函数名
  • 项目管理。创建/编译等,编译基于Emakefile。原来的代码需自己拷贝到新建项目目录中
  • 跳转到编译错误
  • 自动索引OTP和项目源文件
  • Erlang控制台

已知问题:
  • ErlyBird吃内存,需要至少-Xmx256m的设置, 要打开比较大的源文件,最好有380m或更多。请检查你的NetBeans配置文件(etc/netbeans.conf), 看'netbeans_default_options'是否设了-J-Xmx256m
  • Run project按钮暂时还没完成,现在只是直接显示一个erlang控制台
  • 当索引OTP libs时,可能会跳出异常,原因是out of heap space,你可以不管它。
  • 不要打开或跳转到比较大的源文件,这样也会内存不足.

尚缺功能:
  • Debugging
  • ...


下载请到:
http://sourceforge.net/project/showfiles.php?group_id=192439

下载提供两个安装选项:

第一个是打包的NBMs: erlybird-bin-0.11.0-kit-nbms.zip(2.8M). 安装步骤:
下载NetBeans IDE 6.0 M8+:
http://www.netbeans.info/downloads/dev.php
'Build Type'选Q-Build
安装好NetBeans IDE后, 解开erlybird-bin-0.11.0-kit-nbms.zip,然后:
   1. 从菜单 Tools -> Update Center
   2. 在"Select Location of Modules"面板, 点 "Install Manually Downloaded Modules(.nbm Files)", 然后 "Next"
   3. 点[Add...]按钮, 加入方才解压的所有 *.nbm 文件.
   4. 按指令安装这些模块文件.
   5. 重启NetBeans.
   6. 设置OTP路径. 从菜单[Tools]->[Options], 点'Miscellanous', 然后展开 'Erlang Installation', 填入你的'erl.exe' 或 'erl' 文件路径.

第二个是单独的ErlyBird IDE: erlybird-bin-0.11.0-ide.zip(about 18M)。这个包不需要NetBeans IDE. 安装步骤:

   1. 解压到某处, Windows下运行 'bin/erlybird.exe', *nix下运行'bin/erlybird'
   2. 设置OTP路径(同上)
分享到:
评论
26 楼 dogstar 2007-05-15  
那位eclipse熟悉的把erlide也完善一下吧,呵呵。
25 楼 dcaoyuan 2007-04-27  
dcaoyuan 写道
锁死键盘在java模块中也存在,看即将出的NetBeans M9会不会有改善。



仔细想了一下,这个问题M9也未必有改善,因为GLF框架暂时有自己的编辑装饰功能,而我是每天都Update到最新的源码的。

NetBeans 6.0改动相当大,目标是年底前出正式版本,所以很多原来在5.5已经很稳定的功能现在都有毛病,在M5前甚至不能用。相信再过两三个月左右会差不多赶上5.5的稳定。另,GLF在M9才正式加入到NetBeans IDE的标准配置中。

GLF自己还有很多需要加强的地方,比如内存和性能的优化,这些现在都还没开始弄。

看来再出毛病时我要把异常都记下,然后反馈给他们了。

ErlyBird本身最新的进展包括:
1、如果erl在环境的path下,会自动去设置Erlang Installation path;
2、索引功能已经全部替换成用Lucene;
3、自动补齐的提示会连函数的参数一块显示出来。
4、写了一些代码让ErlyBird作为一个Node与Erlang Node可以交互(rpc什么的),而且会起一个Erlang Node在后台,随时听候调用,我试了一下通过rpc用erlang本身的erl_scan和erl_parse来解析,但可能不会这样用。

下一步会把erlware作为项目管理工具集成近来,这样,-pa就比较好处理了。

存在的问题主要还是跟框架有关,比如索引时是做同样的parsing,但好像有些文件parsing的结果有问题。在编辑器下却都对。
24 楼 dcaoyuan 2007-04-27  
锁死键盘在java模块中也存在,看即将出的NetBeans M9会不会有改善。

23 楼 potian 2007-04-27  
这段时间试用下来,整体感觉Erlang模块提供的功能很不错的

但是问题很多,譬如经常出现锁死键盘,无法输入的情况,或者在输入的过程中会出现各种Java异常,一旦出现这些问题,就必须退出IDE,重新进入

我想一个多月能做到现在这个样子是很不错的成果,但是离实际使用还有很大的差距,估计这些问题都是language framework造成的,但这样的话恐怕麻烦更大。
22 楼 dcaoyuan 2007-04-23  
erlide的方法比我的高级,它是背后运行一个erlang node,然后用beam_lib:chunks之类去实时查询某个模块的attribute和functions信息。

我暂时没这样做,因为1、erlide经常当,我还不清楚原因;2、不知道这样做性能几何;3、beam_lib:chunks取回的Abstract Form里某项如attribue/function的行号可能是include的???.hrl文件的行号,我还不知道怎么区分,而且,返回的内容如果太长会省略吗(potian或者能帮我回答这两个问题);4、不是所有的语言都能这么做,我想先摸清整个NetNeans的IDE架构,包括它索引的方式,这样将来为其它语言写扩展也有了经验。

下一步我打算也这么试试,看看性能、稳定性如何。
21 楼 potian 2007-04-23  
erlide确实不需要

这块我没仔细看过,但Eclipse的长处就是这个增量的解析器吧(至少Java是这个情况)
20 楼 Trustno1 2007-04-23  
但是erlide貌似不需要index.
或许增量式的intellegen sense会比较好,用到一个做一个index.
19 楼 potian 2007-04-23  
怪了,前面几次都reindex,现在好像不需要了

我确信前面是100% index成功的,并且我自此以后没有动过lib下面的任何内容

这个问题我看你暂时不要花功夫了,还是让framework那些人干比较合适
18 楼 dcaoyuan 2007-04-23  
我也是把把megaco目录下的src目录移走了。

这块看来得好好想想怎么做。我试了一下用erlang自己的compiler编译这几个大文件大约会用到40M内存,当然它应该是用了C来写这一块的。近期内NetNeans估计不会对这个做优化,不行就只好自己再写个简单的像etags一样的scanner了
17 楼 potian 2007-04-23  
我把整个megaco目录移去之后,没有再放回去了
16 楼 dcaoyuan 2007-04-23  
会不会是索引完之后你又把那些文件名改回去了,如果这样的话,erlybird会发现otp的lib有变化,这样就会重新索引了。
15 楼 dcaoyuan 2007-04-23  
应该不会每次重新index OTP,但是你的project下的source files会重新索引。
14 楼 potian 2007-04-23  
好像每次起来都重新Index?
然后又是内存溢出!这次换了文件名,这样就没办法用了
13 楼 potian 2007-04-22  
用了1700M内存还是溢出,最后我还是把megaco去掉了,大约2-3分钟索引就完成了

Mac下配置在Preferences里面的Miscellaneous下面的Erlang Installation


先用一段时间看看

另外,缺省的运行参数中好像没加上 -pa ../ebin 之类的,需要自己加配置
12 楼 dcaoyuan 2007-04-21  
对。我本想判断一下文件大小,如果太大就忽略它,但又想这件事最好是通过改进解析和索引机制来达到,就暂时懒得处理了。

内存溢出不是俺干的:-),Generic Language Framework的parsing现在还没优化,它把整个文件装进内存并转换成一个大String,然后又生成一大堆tokens,所以还没等我的代码接手就已经不行了。希望它能尽快改进。
11 楼 Arbow 2007-04-21  
原来是 \lib\megaco-3.5.3\src\text 下面那5个>1m的源码造成内存溢出,索引的时候把它们改下名字就好了
10 楼 dcaoyuan 2007-04-21  
一个方法是到erlybird的个人设置文件下,比如我的:
C:\Documents and Settings\dcaoyuan\Application Data\.erlybird
把var\cache删掉。

另一个办法是给otp的lib下加点什么,就是说erlybird会比较lib目录的内容和时间,如果有改动,会全部重新索引。

第一次索引时间比较长,最好不要切换到其他程序,等他索引完,在我的机器上大约7、8分钟。这块我现在只能等netbeans的优化。
9 楼 Arbow 2007-04-21  
在索引OTPlibs的时候,关闭了erlybird,之后就无法再次index了,目前只有部分模块可以跳转,一些不行,请问如何解决?
8 楼 dcaoyuan 2007-04-20  
重新打了包,叫0.11.1了。

记得把Erlang Installation设成包括erl.exe或erl的全路径,比如:C:\erl\bin\erl.exe

mac下如果找不到tools->options菜单,只好试一下到:
"${HOME}/Library/Application Support/erlybird/dev/config/Preferences/org/netbeans/modules/languages/erlang
找到platform.properties,把它强行改掉。
或者用netbeans IDE加插件。
7 楼 potian 2007-04-20  
我找不到Tools下面有options这样一个子菜单

当然macosx更不可能有什么c:\erl了,感谢并等待中



相关推荐

Global site tag (gtag.js) - Google Analytics