Search My Blog
Loading
Pages
Categories
- database (1)
- diary (9)
- english (3)
- free (8)
- grails (1)
- ipod (10)
- java (21)
- link (1)
- love (1)
- management (3)
- memo (9)
- movie (1)
- photography (15)
- powershell (1)
- productivity (2)
- reading (1)
- self-management (7)
- software (19)
- status (2)
- web-develop (1)
- webutils (4)
- wordpress (4)
Tags
500d ajax blog canon console d300s d3000 d5000 diary english firefox fish G10 game google reader grails grd info instapaper ipad iphone ipod java jedit love management MJ mysql nikon photo photography plugin productivity quartz search engine software spring tab taobao target touch up web wordpress zoundryArchives
-
Recent Comments
My Shares on Google Reader
Category Archives: java
intellj goes to opensource
今天在infoq上看到intellj居然也有opensource版了..是不是netbeans和eclipse给的压力太大呢?有兴趣的同学到这儿来下载
Also posted in software Leave a comment
Jedit in action: Open it plugin and fast open plugin
今天要介绍的插件是Open it和fast open。两个插件实现的功能基本上一样,就是快速打开文件。即弹出对话框,输入文件名,即可快速打开。都支持?和*两个通配符,也有自动提示。同时也支持和Project Viewer插件的配合。即只打开当前project的文件。
两个不一样的是,open it支持filter,比如说过滤掉所有的.class文件,而fast open还不支持。但是open it的通配符,好像有bug..完全不work。到底要用哪一个,就看个人喜好了。
安装完插件以后,最好把插件提供的快速打开功能绑定到一个快捷键上,比如说我就是用Ctrl+o。这个可以在Global Options –> Shortcuts里面配置。
Jedti in action: Buffer Selector Plugin
Jedit默认是没有现在流行的tab页的。Buffer Selector就是给jedit提供tab页的功能。
安装完在Plugin Options –> Buffer selector里面选择enable buffer selector by default,然后location选择Top。Jedit就变成这样啦。
Jedit in action: SuperAbbrevs Plugin
今天介绍的插件是SuperAbbrevs,这个插件提供的功能就是像很红的textmate的snnipts。
输入了定义的缩写,按tab键扩展,支持参数,也支持tab键在参数间跳转。
定义或者修改abbrevs,要到PluginOptions –> SuperAbbrevs –> Abbreviations。缩写是按文件类型分类的,会根据当前buffer的mode来决定激活哪类abbrevs。
其中定义时,参数是用$1, $2, $end的样子,很简洁。不过要注意的是一定要定义$end,要不然,连续使用abbrevs的时候,会出现跳转到前面一个abbrevs的参数里面的问题。比如说最简单的java if的abbrev定义如下,tab键就可以在$1,$2,$end之间跳转。
1: if ($1) {
2: $2
3: }$end
强力推荐,用了都说好,谁用谁知道。
Jedit in action: Project viewer plugin
Project viewer插件提供了简单的project管理的功能。包括创建,更新project等。同时也可以和console等plugin结合起来用,比如说介绍console的时候,可以直接在console跳到project viewer里面当前的project的根目录或者所选的目录。
我习惯把project viewer dock到jedit的右边,这样比较像ide。它提供了3个tab,folders和files有点类似netbeans的项目和文件管理,Working files列出了打开的当前项目里的文件,有点像一个buffer list。
在一个project的properties里面可以配classpath,不过目前我还没搞懂有什么用..
为什么要用ajax的table?
目前的项目table用的jquery的一个table插件,台湾那边hci定的。不过我觉得,这实在是没什么必要。ajax的table,让我这个对javascript不太熟的人而言,实在是大大提高了难度。连个mockup都写不出来了。
而且我觉得ajax的table也没什么优点啊,速度也没有优势..而且增加了开发的难度。本来非常直接的一点代码,现在搞的这么复杂…
Jedit in action: Console plugin (3)
终于到了最重要的一部分: Commando。Commando有点类似ultroedit里我们常用的配置命令,用来编译或者运行文件。不过Commando更为强大,因为它本质上说还是beanshell命令,所以可以调用jedit及其插件的api。
上图就是我写的一个grails的commando,"Command”是一个选择grails命令的下拉菜单,"Command parameters”可以填入命令的参数。
这张图里面Commands里面显示的是最终会在Console里面运行的命令。
下面来介绍一下这个commando的内容:
1: <?xml version="1.0" ?>
2:
3: <!DOCTYPE COMMANDO SYSTEM "commando.dtd">
4:
5: <COMMANDO>
6: <UI>
7: <CAPTION LABEL="Commands">
8: [...]
Jedit in action: Console plugin (2)
Console自带的特殊的命令
比如说跟目录有关的:pwd显示当前目录,- 跳到前一个目录(当在两个目录里来回切换,就不停的按- 就好了),%pushd把当前目录放到stack里面,%popd跳到stack顶部的目录,并且从stack里删除该目录,%dirstack列出stack里所有的目录。
在Console里可以使用从系统的命令行里访问的所有的环境变量,可以用%name%,或者$name, ${name}的方式来访问。还有一些特殊的变量可以在Console的help文件里面找到。
Console提供的Beanshell命令行也很有用。首先,可以作为beanshell的命令行,另外一个,就是可以用来调试自己的插件或者宏。我试过,插件提供的api可以在beanshell里面直接调用。
Console的配置菜单
Console的配置菜单的路径是Plugins->Plugin options->Console
General和System Shell没什么好说的。Toolbar Options可以把commando放到jedit的toolbar上来,更方便调用,而不用每次都从Plugins->Console->Commando里面去点。
Error Patterns可以用正则表达式来解析Console的输出,并且把解析的结果输出到Error List plugin。
Compile&Run用来配置Jedit支持的文件格式的编译和运行。其中可以选择的Compile和run的命令,就是当前所有的Commando
Quartz in Spring memo: part 7
最终还是放弃了使用jdbc jobstore。如果使用了,spring提供的MethodInvokingJobDetailFactoryBean不能用,SimpleTriggerBean, CronTriggerBean都不能用。系统里面已经有好多地方都使用了。不可能再回头去改了。
不使用jdbc jobstore,唯一的坏处就是,对于不能在spring配置里面配置(即用户添加的)schedule,系统启动的时候需要手动把schedule加到quartz里面去。
有时间研究一下izpack