2007-03-26
ErlyBird - Erlang IDE based on NetBeans - 最新版本 0.15.0
关键字: Erlang NetBeans
正在开发中的NetBeans 6.0新近增加了一个模块叫GLF(Generic Language Framework),俺在这个基础上写了一个Erlang的编辑器模块,项目名称叫ErlyBird,目前支持的功能有:
附件中解压后有两个NetBeans的nbm文件,从Tools->Update Center中选Install Manually Downloaded Modules(.nbm Files),将这两个文件添加进去,重新启动NetBeans。(要求NetBeans 6.0 M7以上)
因为GLF还不稳定,所以目前的版本仅提供编译后的文件供测试。待稳定后将正式发布源码。
语法检查;
语法高亮;
代码折叠;
函数导航(在Navigator窗口中);
缩进
附件中解压后有两个NetBeans的nbm文件,从Tools->Update Center中选Install Manually Downloaded Modules(.nbm Files),将这两个文件添加进去,重新启动NetBeans。(要求NetBeans 6.0 M7以上)
因为GLF还不稳定,所以目前的版本仅提供编译后的文件供测试。待稳定后将正式发布源码。
- 16:52
- 浏览 (17095)
- 论坛浏览 (22577)
- 评论 (68)
- 分类: Java
- 相关推荐
评论
dennis_zane
2007-09-21
回复
very cool
格式化代码的功能期待了许久,感谢。
格式化代码的功能期待了许久,感谢。
ErlyBird 0.15.0, 大小17.6M
CHANGELOG:
* 重新格式化代码 (Ctrl+Shift+F).
* 标示某个变量或函数的使用位置.
* 更好的配对高亮,支持'try-catch-end', 'if-end' 等.
* "-import" 语法现在可以被正确解析,象RabbitMQ的代码现在能正确显示.
* Bug fixes
下栽
http://sourceforge.net/project/showfiles.php?group_id=192439
CHANGELOG:
* 重新格式化代码 (Ctrl+Shift+F).
* 标示某个变量或函数的使用位置.
* 更好的配对高亮,支持'try-catch-end', 'if-end' 等.
* "-import" 语法现在可以被正确解析,象RabbitMQ的代码现在能正确显示.
* Bug fixes
下栽
http://sourceforge.net/project/showfiles.php?group_id=192439
Arbow 写道
Erlybird的语法解析跟Eclipse不太相同,Eclipse中一部分代码语法出错,一般不会导致后面所有代码解析出问题,但是在Erlybird里面,由于import这里出错,后面的代码除了关键字,变量等可以正确显示颜色,函数和宏都无法识别了。
关于这个问题,我看过Erlide的代码,它把Erlang语法定义稍做改动后可以做到。ErlyBird下一步也要做到这一点,不过因为与Erlide用LALR语法定义不同,ErlyBird现在用的是LL(k),可能需要一些tricks
是的,在《Program Development Using Erlang -
Programming Rules and Conventions》里面就有 “6.6 Don’t use import”。
问题在于很多现成的代码里面,都使用了import,我现在正在用Erlybird来看Rabbitmq的代码就有这个问题。Erlybird的语法解析跟Eclipse不太相同,Eclipse中一部分代码语法出错,一般不会导致后面所有代码解析出问题,但是在Erlybird里面,由于import这里出错,后面的代码除了关键字,变量等可以正确显示颜色,函数和宏都无法识别了。
Programming Rules and Conventions》里面就有 “6.6 Don’t use import”。
问题在于很多现成的代码里面,都使用了import,我现在正在用Erlybird来看Rabbitmq的代码就有这个问题。Erlybird的语法解析跟Eclipse不太相同,Eclipse中一部分代码语法出错,一般不会导致后面所有代码解析出问题,但是在Erlybird里面,由于import这里出错,后面的代码除了关键字,变量等可以正确显示颜色,函数和宏都无法识别了。
Arbow 写道
hi, caoyuan
在解析
这样的语法时会提示出错
在解析
-import(application). -import(gen_server). -import(mnesia).
这样的语法时会提示出错
我依据的是Erlang Specification 它对import attribute的定义是:
- Import ( ModuleName, FunctionNameList ) FullStop
没有提到FunctionNameList是可选项。
我再核实一下。
不过我不建议使用import,因为不像Java里的import,Java里import后,至少你还要在先申明对象类型,然后方法调用前都会有个对象名或类型名。Erlang里import进来的函数直接调,有时靠模块名一起界定函数名的意思的那些函数就会意思不明了。比如:session:get_value(Key, Props)变成get_value(Key, Props)就没那么清楚的含义了。
好像Joe还是谁也曾有过这个观点。
hi, caoyuan
在解析
这样的语法时会提示出错
在解析
-import(application). -import(gen_server). -import(mnesia).
这样的语法时会提示出错
ErlyBird 0.12.0 发布,这个版本主要是改Bug和提高性能。
这个版本只以单独的IDE形式提供,不提供插件包。
下载请到:
http://sourceforge.net/project/showfiles.php?group_id=192439
安装:
1、解压erlybird-bin-0.12.0.zip到某处。Windows用户:'bin\erlybird.exe',*nix用户,"\bin\erlybird";
2、检查OTP安装路径:菜单:[Tools]->[Options]->"Miscellanous"->"Erlang Installation",设成erl或erl.exe的全路径,比如:"C:\erl\bin\erl.exe"
3、默认JVM的-Xmx设成了256M,如果你想增加,编辑etc\erlybird.conf的行"default_options="之"-J-Xmx"项,
第一次运行时照例会索引OTP库,需时从30到60钟不等。
注意:如果你安装了以前的版本,请先将用户目录删除,位置在:
* *nix: "${HOME}/.erlybird/dev"
* mac os x: "${HOME}/Library/Application Support/erlybird/dev"
* windows: "C:\Documents and Settings\yourusername\.erlybird\dev"
ChangeLog:
# 显示性能提高
# unbound和unused变量会显示为灰色.
# macros and records的自动补齐.
# 跳转到-include 和 -include_lib的源文件.
# Mac OS X 下的Erlang shell可以了
# Bugs修订.
这个版本只以单独的IDE形式提供,不提供插件包。
下载请到:
http://sourceforge.net/project/showfiles.php?group_id=192439
安装:
1、解压erlybird-bin-0.12.0.zip到某处。Windows用户:'bin\erlybird.exe',*nix用户,"\bin\erlybird";
2、检查OTP安装路径:菜单:[Tools]->[Options]->"Miscellanous"->"Erlang Installation",设成erl或erl.exe的全路径,比如:"C:\erl\bin\erl.exe"
3、默认JVM的-Xmx设成了256M,如果你想增加,编辑etc\erlybird.conf的行"default_options="之"-J-Xmx"项,
第一次运行时照例会索引OTP库,需时从30到60钟不等。
注意:如果你安装了以前的版本,请先将用户目录删除,位置在:
* *nix: "${HOME}/.erlybird/dev"
* mac os x: "${HOME}/Library/Application Support/erlybird/dev"
* windows: "C:\Documents and Settings\yourusername\.erlybird\dev"
ChangeLog:
# 显示性能提高
# unbound和unused变量会显示为灰色.
# macros and records的自动补齐.
# 跳转到-include 和 -include_lib的源文件.
# Mac OS X 下的Erlang shell可以了
# Bugs修订.
dcaoyuan 写道
Arbow 写道
提个意见,貌似ErlyBird即时解析的频率比Erlide大的多。经常只打了几个字符,语法解析开始了,关键字颜色之类变化,打了几个字符又恢复。在程序比较大的时候感觉编码很卡
是有这个问题。主要是Generic Language Framework是这样做的,这个框架现在根本还没开始做优化,希望他们在6.0正式出来前能够做一些。我看过GLF的代码,也提交过一个相关的issue,工作量应该不是太大。
GLF最近开始作优化,他们昨天的改进不错,显示的性能大幅提高,这个问题可能解决了不少。
顺利的话周末发新版本。
coderplay 写道
很奇怪为什么没有comment&comment block功能? 我觉得这个对于开发人员来说是挺实用的说, 而且实现起来应该不难. emacs的erlang-mode这方面以及gen_fsm, gen_server各种模板做得不错的说
我不太记得了:-) 我现在的版本是有这个功能,但0.11.2呢?如果没有的话就等最近要发的版本吧。
很奇怪为什么没有comment&comment block功能? 我觉得这个对于开发人员来说是挺实用的说, 而且实现起来应该不难. emacs的erlang-mode这方面以及gen_fsm, gen_server各种模板做得不错的说
song8159 写道
在SourceForge.net上还是0.11.2版本的(2007-5-18).
尽快放出来吧!
尽快放出来吧!
等前面提到的那个内存泄露问题解决掉就可以先发布一个版本,这个泄露问题他们已经开始查。
song8159 写道
你的ErlyBird进展如何?
最近完成了:
1、跳转到include/include_lib文件;
2、对各种语句的详细语义解析,这样可以根据语句的scope判断一个变量是否从未使用或者是unbound,然后显示为灰色;
3、已经索引了define和record,下一步加上对使用的跟踪和自动补齐;
4、帮Generic Languages Framework修订了一个bug,这样索引时对源文件的解析可以到99%以上(剩下的1%是由于Macro对语法的影响,这种情况在OTP库中很少,如果出现在你的程序中,正好提醒你最好不要用太复杂的 Macro)
5、刚找到一个Common Scripting Framework的bug,可以让索引时间减少到一半左右(包括Ruby模块也应该可以受益)。
dcaoyuan 写道
2、NetBeans中的Generic Language Framework有一个bug,如果源文件没有在编辑器中打开,有些token居然会被不处理,这导致在索引时有些库文件不能被完整解析。
第二个问题我还没向NetBeans反映,所以一时半会解决不了。不过以我现在天天用ErlyBird的经验看,大部分OTP库还是会给我提示的。
昨天给他们发了一个 patch,今天已经加进trunk里,这个问题算是解决了,当然,因为解析正确的内容比原来多了,做索引的时间也长了,在我现在的机器上要40分钟。
GLF框架该开始做优化了。
Arbow 写道
提个意见,貌似ErlyBird即时解析的频率比Erlide大的多。经常只打了几个字符,语法解析开始了,关键字颜色之类变化,打了几个字符又恢复。在程序比较大的时候感觉编码很卡
是有这个问题。主要是Generic Language Framework是这样做的,这个框架现在根本还没开始做优化,希望他们在6.0正式出来前能够做一些。我看过GLF的代码,也提交过一个相关的issue,工作量应该不是太大。
提个意见,貌似ErlyBird即时解析的频率比Erlide大的多。经常只打了几个字符,语法解析开始了,关键字颜色之类变化,打了几个字符又恢复。在程序比较大的时候感觉编码很卡
发表评论
该博客是同时发布到论坛的,无法评论在论坛已被锁定的帖子
最近加入圈子
最新评论
-
ErlyBird 0.16.0 Released
Others->Erlang...
-- by dcaoyuan -
ErlyBird 0.16.0 Released
为什么我在NB内导入完成后,在New Project里面无法看到 create ...
-- by fatdong -
新的Scala for NetBeans提 ...
因为NetBeans的几个基础模块在Trunk里有与6.1不兼容的的变化,所以现 ...
-- by dcaoyuan -
新的Scala for NetBeans提 ...
另外,dcaoyuan大叔有空时能否简单说一下为NetBeans开发某一门语言的 ...
-- by 自言200801 -
新的Scala for NetBeans提 ...
重新更新以后就装不起来啦,错误如下:====================== ...
-- by 自言200801







评论排行榜