Console是jedit必装的插件之一。它提供了如下的功能:
1.集成的命令行,包括系统的命令行,一个Beanshell命令行。解析命令行的输出,然后把错误输出的另外一个plugin:ErrorList。
比如说编译java,可以自定义匹配的模式,把错误输出到ErrorList里面。
2.可以订制图形化的命令行工具,称为Commando。这个我觉得是console提供最好用的工具,可以通过它来自定义命令。
3.如果其他插件有命令行的输出需要,可以利用Console Plugin提供的框架,比如说安装了AntFarm以后,Console里面就会有专
门输出给AntFarm的console。
首先从Plugin Manager里面安装console。然后通过Plugins -> Console -> Console来激活。激活以后就
是这个样子的。
http://pure-blogging.com/wp-content/uploads/2009/09/console1_thumb.png
然后用鼠标点左上角的三角形,选择Dock at Bottom,就会变成我们习惯的类似ultroedit的样子了。
http://pure-blogging.com/wp-content/uploads/2009/09/console2_thumb.png
默认是系统的命令行,在里面可以执行所有从命令行可以执行的命令。比如说python, javac, java等等。
另外一个是BeanShell的命令行,可以执行BeanShell的命令。
下面再介绍一下Console的菜单。
从Plugins -> Console可以看到Console的菜单。
http://pure-blogging.com/wp-content/uploads/2009/09/console3_thumb.png
*Console:激活Console
*Run last command:运行上次的命令
*Commando:打开commando窗口。commando是干什么的,下面再重点介绍。
*Compile current buffer:编译当前的文件。编译的命令在Plugins Options -> Console ->
Compile & Run里面配置
*Run current buffer:运行当前的文件。运行的命令和上面一样,在同一个地方配置
*Browser Commando Directory:在File Browser里面打开存放commando文件的位置,通常是
$HOME/.jedit/console/commando
*Regen dynamic menus:在每次修改完commando文件以后,需要运行这个命令刷新一下。
*cd to ProjectViewer selected node dir:这个命令要安装Project View插件,会在System命令
行里面,cd到Project View里面当前的project的所选的目录
*cd to ProjectViewer root dir:cd到Project View里面当前的project的根目录
*Commands:运行所有的commando的入口。还有两个运行commando更快捷的方式,后面会介绍
*Shells:跳转不同shell的命令
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
终于到了最重要的一部分: Commando。Commando有点类似ultroedit里我们常用的配置命令,用来编译或者运行文件。不过
Commando更为强大,因为它本质上说还是beanshell命令,所以可以调用jedit及其插件的api。
http://pure-blogging.com/wp-content/uploads/2009/09/commando1_thumb.png
上图就是我写的一个grails的commando,"Command"是一个选择grails命令的下拉菜单,"Command
parameters"可以填入命令的参数。
这张图里面Commands里面显示的是最终会在Console里面运行的命令。
http://pure-blogging.com/wp-content/uploads/2009/09/commando2_thumb.png
下面来介绍一下这个commando的内容:
1: <?xml version="1.0" ?>
2: 3: <!DOCTYPE COMMANDO SYSTEM "commando.dtd">
4: 5: <COMMANDO>
6: <UI>
7: <CAPTION LABEL="Commands">
8: <CHOICE LABEL="Command" VARNAME="command" DEFAULT="test-
app">
9: <OPTION LABEL="create-domain-class" VALUE="create-
domain-class"/>
10: <OPTION LABEL="create-controller" VALUE="create-
controller"/>
11: <OPTION LABEL="generate-all" VALUE="generate-all"/>
12: <OPTION LABEL="run-app" VALUE="run-app"/>
13: <OPTION LABEL="test-app" VALUE="test-app"/>
14: </CHOICE>
15: 16: <ENTRY LABEL="Command parameters"
VARNAME="args" />
17: </CAPTION>
18: </UI>
19: 20: <COMMANDS>
21: <COMMAND SHELL="System" CONFIRM="FALSE">
22: changeToPvRoot(view);
23: buf = new StringBuffer("grails ");
24: buf.append(command);
25: if (args.length() > 0) buf.append(" ").append
(args);
26: buf.toString();
27: </COMMAND>
28: </COMMANDS>
29: </COMMANDO>
6-18行控制comando的显示部分,就是第一张图里的一个下拉菜单和一个文本框,20-28行控制最终运行的命令。
8-11是下拉菜单,16行是文本框。详细的说明在Console的help文件里面有。
21行:SHELL="System"对应Console里面的System命令行,CONFIRM="FALSE"就是运行之前不需要再有一个对话框
确定。
22行:这个就是直接调用Console提供的api。这个命令我是在Console的源文件里面找到的一个beanshell文件,在Console
的Beanshell命令行里也可以直接调用。这个命令要和Project Viewer插件配合,它的作用是直接跳到Project Viewer里
当前项目的根目录。
23-26:用StringBuffer来构造最后在Console里运行的命令。其中command和args对应于UI部分的输入。
在编写了这个commando以后,要把它放在jedit的commando的文件夹里面,目录是$HOME/.jedit/console/
commando,命名为grails.xml,然后需要点击Plugins->Console->regen dynamic menus来激活。然
后就可以里Plugins->Console->Commands里找到grails了。点击就会出现图一的对话框,输入完确定,命令就会在
console里面运行,并且结果也会显示在console里面。
http://pure-blogging.com/wp-content/uploads/2009/09/commando3_thumb.png
还有更牛的,就是这个commando已经被注册到jedit支持的快捷键里面。在Global Options->Shortcuts里面,
Edit Shortcuts选择Plugin: Console - Commando Commands,就可以看到所有的commando,也包
括我们刚加的grails。我给它的快捷键是F6,就可以在任何时候按F6来执行我的grails命令。是不是很方便呢?
http://pure-blogging.com/wp-content/uploads/2009/09/commando4_thumb.png