使用Emeditor的jsee宏,通过调用dos窗口,编译当前java文件并执行,将执行结果显示到dos窗口上,按任意键退出。对于初学java,且喜欢用Emeditor编程的同学来说,可以提供一点便利。
// 这个jsee宏使用前提
// 当前java文件就是要编译执行的文件上才可以
function compileJava()
{
if( document.Saved )
{
//已经被保存了,不做任何动作
}
else
{
//保存当前文件
document.Save( document.Name );
}
var wsFSO;
var wsShell;
var wsTxtFile;
var wsSubFileName;
// 取得文件名(包括扩展名)
var wsFileName = document.Name;
// 取得文件名路径
var wsFilePath = document.Path;
// 取得没有扩展名的文件名
wsSubFileName = wsFileName.replace( ".java" ,"");
try{
// 创建FileSystemObject 对象
wsFSO = new ActiveXObject( "Scripting.FileSystemObject" );
// FileSystemObject 对象创建一个compileJava.bat文件
// compileJava.bat 1.弹出一个dos命令提示符窗口
// 2.调用javac命令编译当前java文件
// 3.调用java 命令执行当前java文件
// 4.将结果显示到dos命令提示符上
// 5.按任意键退出dos窗口
wsTxtFile = wsFSO.CreateTextFile( wsFilePath + "\\compileJava.bat" , true);
wsTxtFile.WriteLine( "@echo off" );
wsTxtFile.WriteLine( "cd /d " + wsFilePath );
wsTxtFile.WriteLine( "javac " + wsFileName );
wsTxtFile.WriteLine( "java " + wsSubFileName );
wsTxtFile.WriteLine( "pause > nul" );
wsTxtFile.WriteLine( "del compileJava.bat" );
wsTxtFile.WriteLine( "exit" );
wsTxtFile.Close();
// 创建ActiveXObject对象
wsShell = new ActiveXObject( "WScript.Shell" );
// ActiveXObject对象调用CMD,运行bat文件,编译java文件并执行java类文件
wsShell.run( "cmd.exe /c " + wsFilePath + "\\compileJava.bat" );
}
catch(e)
{
wsFileName = editor.FullName;
alert( "The full name of EmEditor is " + wsFileName );
}
finally
{
wsFSO = null;
wsShell = null;
}
}
“`