author : Sanrex 开始采用vim替换,虽然可行,但是vim不能自动替换所有的情况,非常不方便,也采用了editplus和uedit,好像他们的regexp替换根本不起作用 最后采用的jedit,在这个方面表现非常不错,他的incremental search bar 和vim的一样方便调试和立即查看regexp的结果, 支持find/replace dialog方式,具备了几个编辑器的优点。 buffer 管理 ctrl+w 关闭当前buffer ctrl+q 关闭窗口 ctrl + 1 取消切分 ctrl + 2 纵向切分 ctrl+ 3 横向切分 在功能上不如emacs 强大,在实用性,和人机操作方面要比emacs好的多了,相信jedit的开发者一定是emacs的用户, 那么多的功能来源emacs,但是有很大的创新,可惜不能访问jedit.org,不然也许可以了解作者创作jedit的原因,来龙去脉。 jedit 的目录管理,是一个强项,比起ultraedit,editplus ,gvim 都方便的多。 在复杂的状况下,最老的FileOpenDialog一定是不合时宜,简单的treeDirectory&List+project 的editplus也是太简单,SourceInsight的search做的不错。 最好的目录管理我认为应该有Project file, Favorite Directory&List ,Search ,Filters ,TreeView &Listview和他们的合理组合。那么jedit达到了这个要求, jedit 的FileSystemBrowser 如此精美,以至于即使Project管理方式,我也可以很少使用。 File System Browser | Favorite 方便在几个目录内切换来说非常方便,比如 PROJECT-HOME/src/com/app1 ; PROJECT-HOME/src/moreapp ; PROJECT-HOME/web/app1 ; PROJECT-HOME/web/moreapp ; PROJECT-HOME/docs/logs ; PROJECT-HOME/docs/article , 把这个目录列表加入你的Favarite 内即可 其他的几个编辑器里面真的感到非常头疼等等,这个大概又是jedit独有的功能 目录内部的newFile,rename file功能 FileSystem可以不必关闭 emacs 和jedit一样可以统一方式访问ftp,fileSystem,但是很可惜的,emacs缺乏现代的程序的特征,比如Dialog ,Common Control ,ToolBar 大部分工作都需要使用命令, 不管常用的还是复杂的,非常缺乏层次感;而且我没有测试成功在windows下下中文录入的方法。 ref:"type:article;author:Sanrex;Title:emacs+jde 开发java应用程序" 更多细节,用了才知道。 打开的文件会有一个下划线,一般和没有打开的文件区别 ctrl +` 仅仅切换两个最近的文件,更多文件在alt+` 查看,查看时,每次选择变化,无需确定,即可在不buffer中立即显示出来 文件可以执行rename ,delete,new操作,但是在打开时不可以如此 外部工具运行 这方面ue,ep 做的很好,而且可以捕获命令的标准输出,但是我们对editplus + ant的java开发方式的评价是很清爽,没有什么负担,而且采用这种方式有很长时间。但是由于editplus简单的不够灵活的目录和工程管理最后放弃,仅仅在简单的小修改才会使用它。 jedit 提供专门的控制台,并且和ErrorList 接口提供真正的可定位的编译错误列表,编译完成后可以通过下划红线标注错误位置。 开放性 opensource 二次开发,beanshell 比如经常需要把 line line 转换成为 只要点击菜单 utilities |Beanshell | evaluate for selected lines 输入" 我的工程 changelog.html文档就是如此写作。 editplus 中有一个小功能,插入当前日期(key : ctrl+d) 对于写log非常方便,jedit没有这个功能但是我们可以加入它 试着执行下面的代码,在beanshell中 import java.text.DateFormat; String newText = DateFormat.getDateInstance().format(new Date()); textArea.setSelectedText(newText); 创建 SimpleInsertDate.bsh 到JEDITHOME/macros/text/ click Macros | Rescan Macros click Macros | text | SimpleInsertDate 当然还是不够方便,那么 click utilities | global Options | jedit | shortcuts | macros | InsertSimpleDate | c+m c+d 现在按键盘 c+m c+d 插件: jedit 的插件结构非常完善 ,表现在用户只要把下载的插件jar'放置到 JEDITHOME/jar/,用户做了这简单的动作之后,就可以得到自动的菜单关联,配置信息,还有help的集成,是的安装完成插件后,你马上可以在jedit help中发现plugin的相关帮助。 (在不知道这个情况之前,我是在jar文件内部查找html帮助文件) 另外jedit的plugin manager ,看起来只要点击update plugin ,install plugin即可跟着向导走了,但是因为jedit.org 我一直没有连接上,因此这个功能我没有尝试,目前都是在jeditplugin central @sourceforge.net 中下载jar插件文件 sql plugin : 这个plugin大概是jedit都有的特征,其他比如ftp,ant集成,emacs,vim 都支持,但是好像没有那个editor连数据库的访问查看也支持,但是实际上这个需求应该说每一个人搞数据库的人都需要,我就经常在eclipse和mysql cc之间切换,而且mysqlcc给的功能太多, 我需要的就是我输入一个sql,它返回一个结果。jedit的这个plugin只是我希望了那个样子。 刚刚安装时在 plugin | sql | choose server type 空的,没有办法选择,而在文档中jedithome/jar/sql.jar/userguide.html指明: some configuration files - for Oracle, MySQL, PostgreSQL, DB2, Sybase, Microsoft SQL Server are bundled with the plugin 说明这些基本类型已经在了,是的,仅仅在sql这个菜单里面做工作是否没有作用; 最后发现在projectview里面可以创建数据库连接 把 user pass host port 等等url信息。 比如我的mysql,数据库DBNAME,可以填写成为: pass: user:root dbName : DBNAME extra :?autoReconnect=true&useUnicode=true&characterEncoding=ISO8859_1 回头把 choose server type 选择好。 现在可以执行sql了,sql菜单内的execute有两种方式,execute selection ,execute buffer ,在你的当前buffer 中填写一条语句,比如select * from yourTableName ; 如果sql正确,那么sql result set 会显示出来,不知道为什么,里面仅仅了0 request running ,把它放大,才会发现resultset已经显示出来了。 中文也显示出来了 不错不错 几个插件下来,感觉多个窗口切换还是很麻烦,使用dock帮助你更好的组织窗口 : utilities | Global options | jedit | docking . 目前我的办法是: 把File system browser ,project Viewer ,Ant farm 停靠到left 把Error List ,SQL Result Set 停靠到bottom ,对于不做java编程或者没有数据库访问的,也不必停靠这些plugin了 我目前采用的plugin列表 XSLT-0.4.1-bin.zip xml+xsl (by xslt)= xml (比如html) AntFarm-1.3.1.zip 和Ant的接口 ClassWizard-0.5.1-bin.zip 类生成wizard CommonControls-0.8-bin.zip 一些常用的界面对象 Console-3.5-bin.zip 可扩展控制台,因plugin而不同,目前我的console可以执行Ant ,system (dos shell) ,Cvs ,beanshell,tomcatSwitch ,不同的console可以执行的命令不同,一般进入不同的console都会有help信息 Debugger-0.6.1-bin.zip EditorScheme-0.4.2-bin.zip 可更换不同的font color ,background color 等 ErrorList-1.2.3-bin.zip compile ,ant 之后可能生成的ErrorList ,和console不同在于,errorList可以帮助定位错误所在的源代码位置,而不是仅仅显示出来而已 FTP-0.5-bin.tgz 如同File System Browser 一样管理open from/saveas 文件到ftp server JakartaCommons-0.2-bin.zip 基本类,提供command line 分析等基本服务 JarMaker-0.4-bin.zip 形化创建jar文件 JavaInsight-0.5.1-bin.zip 大概是class反编译 JBrowse-1.4.4-bin.zip 提供类,方法的树图显示,快速定位类,函数.. jEditCvs-0.4-bin.zip 和cvs接口 JImporter-0.4.0-bin.zip 管理文件的Import,比如把java.io.* 展开成 java.io.FileReader JTools-1.3-bin.zip JUnitPlugin-0.0.2-bin.zip 和junit接口 ProjectViewer-2.0.1-bin.zip 工程管理 SideKick-0.2-bin.zip 结构化显示文件,比如xml树图 SQL-0.97-bin.zip 在jedit里面通过输入sql直接查看结果集合,是不是非常集成。 SwitchBuffer-1.0.0-bin.zip 切换buffer TaskList-0.4.2-bin.zip TomcatSwitch-0.6.2-bin.zip 提供tomcat的start ,restart ,stop XML-0.11.1-bin.zip 提供xml方面功能 评价 快速的,多层次的,丰富灵活选项,可以二次开发的,充分界面定制的通用程序员编辑器。 我非常欣赏它的多层次,表现在: 以二次开发为例: A 通过beanshell a1 记录macro a2 宏编写 B 通过java B1 使用plugin B2 编写plugin B3 jedit代码修改 如果需要二次开发,你可以在这么多的选择中做一个合适的选择,而且这两个层次也同样具备互通性,而不是学习新的层次就有抛弃老的层次 因为beanshell本来就是java的脚本语言。 在比如mark ,你可以使用最简单的ctrl+t X ,ctrl +y X 的组合,也可以使用Marker菜单中提供的丰富功能选项 同样的例子还有clipboard。 在丰富灵活选项这方面,我想对于窗口管理的方法非常不错,现在窗口比较少的情况下,可以使用float方式,在taskbar上切换,如果同时显示的窗口比较多,而且会和其他应用的窗口同时列出来 那么会显得非常混乱,这个时候需要的就是dock方式了。在dock方式中,也可以选择dock到left ,right ,bottom,top 多个选项,而不同窗口适合列在不同的位置,比如横向比较长,应该dock到bottom或者top 在纵向占位的应该考虑dock到left,right位置。 所有的shortcut可以定义,充分按照你的要求。在基本使用后,多看看 utilities |Global Options 很有必要。 以前写的关于java开发效率的文章,是研究这么多编辑器的动因 我的开发平台: tomcat4 + jdk1.4 + james + cvsServer +mysql (1) 经常访问的目录,列出来,看看是否可以提供效率 jspCompile:TOMCATHOME\work\Standalone\localhost\ tomcatLog: TOMCATHOME\logs\stdout.txt Src : PROJECT-HOME\src Web : PROJECT-HOME\web 以上目录可以使用windows的文件收藏,editplus的工程文件管理,user tools 等实现一部分, 另外 editplus | preference|Working directory follows active document,本来也是很好的功能,但是好像没有实现 (2)经常做的工作 导入数据:RUNTIME_HOME\mysql\bin\mysql DBNAME < SQLFILE commandline 方式执行sql RUNTIME_HOME\mysql\bin DBNAME tomcat/james/mysql 启动管理 RUNTIME_HOME\srvadmin.exe ,START ,STOP ,RESTART 或者全部restart,全部reverse state ,一定可以提高效率, 当然也包括linux : tomcat stop /tomcat start ,such as stop start dance ! 或者采用net stop service_name 发布文件 通过update2k ,cuteftp 传递文件。需要很多的主机配置条目,包括本机,各个客户机器 数据库管理 mysqlcc 和ftp一样,有很多配置项目 (3) 如果在行尾部可以自动加入 和自动行添加 请随意转载,但注意文件的完整性 |
2007年8月19日星期日
更加强大开放的通用编辑器 --jedit
更加强大开放的通用编辑器 --jedit
2007/06/03 10:14
订阅:
博文评论 (Atom)
没有评论:
发表评论