只要是写代码的,我们肯定常有用到EditPlus。.Net开发也是如此。有时我们需要调试一小段C#(或VB.Net)代码,这时去大动干戈在臃肿的VS.Net中新建“控制台应用程序”项目,写满“Console.ReadLine()”,总会有点不爽吧?这时你肯定想到要在EditPlus中配置C#运行环境了。直接在EditPlus中运行C#多舒服?
打开GOOGLE,输入“善用EditPlus构建精悍的C#编译环境”,或者“在EditPlus里配置C#的编写环境全过程”。一搜索,符合查询结果的有多少?可想而知这个需求的普遍性了。可这些文章你看后多少有些遗憾,特别是后者,简直有点误导:我调试C#来的,生成一个*.dll干吗?前者写得也太简单了,也不完善。有时候我们想与在VS.Net里一样按一个快捷键就编译完成并执行而得到运行结果时怎么处理?还有究竟为什么要这样配置?其他配置方法是否可行?
呵呵,为了解除这些疑惑,就跟我来吧。
首先在做配置之前必须知道在DOS下如何运行。如.Net:
a.进入cs文件所在目录
b.调用csc命令:此时需要把命令所在目录打出来,因为当前目录下没有csc.exe命令
c.后面所带参数则可以参考csc /?
然后我们得了解一下EditPlus的“用户工具”配置信息。打开“工具”>>"配置用户工具",主要了解三项信息:命令/参数/起始目录。这三项需要填写的内容可以是常量也可以是变量(EditPlus变量)。命令:点击菜单文本(或快捷键)后执行的命令;参数:命令执行时所带的参数;起始目录:命令执行时所在目录,相当于在DOS窗口执行命令时所在的目录。EditPlus变量有哪些?点击参数右边的按钮便可以很清楚地知道(我用的是EditPlus2.21汉化版),选中后就会在参数框中出现相应的变量名称,如$(FileDir)表示“文件目录”等。
现在我们开始配置C#编译环境:修改一个群组名称为“CSharp”
(1)编译:
操作:添加工具>>修改“菜单文本”为“Compile”;“命令”为“C:\Windows\Microsoft.NET\Framework\v1.1.4322\csc.exe”(csc命令所在目录);“参数”为“/target:exe /out:$(FileDir)\exe\$(FileNameNoExt).exe $(FileName)”;“起始目录”为“$(FileDir)”。最后还得把“捕获输出”的勾选中,这样运行后的结果就会在EditPlus下方窗口显示。
说明:参数看上去很复杂,你如果用常量代替变量放在DOS去执行你就明白其意思了。在运行前必须在cs文件所在目录建立文件夹exe,这样所有的cs文件编译后生成的exe文件都保存在此目录——是不是非常舒服?
(2)运行:
操作:添加工具>>修改“菜单文本”为“Run”;“命令”为“$(FileNameNoExt)”;“参数”为空;“起始目录”为“$(FileDir)\exe”。最后还得把“捕获输出”的勾选中,这样运行后的结果就会在EditPlus下方窗口显示。
说明:命令为什么是“$(FileNameNoExt)”?因为编译后生成的exe文件名称与cs文件名相同,我们在执行时可以去掉后缀名;起始目录为什么要加个“\exe”想来你也明白了?
(3)编译后运行:
操作:新建CSharp.bat文件保存在EditPlus安装目录(便于管理),内容如下:
@echo off
C:\Windows\Microsoft.NET\Framework\v1.1.4322\csc.exe /target:exe /out:%1\exe\%2.exe %3
%1\exe\%2
rem %1:$(FileDir)
rem %2:$(FileNameNoExt)
rem %3:$(FileName)
“参数”为“$(FileDir) $(FileNameNoExt) $(FileName)”;“起始目录”为“$(FileDir)”。最后还得把“捕获输出”的勾选中,这样运行后的结果就会在EditPlus下方窗口显示。
说明:有关bat语法可以搜索“批处理文件bat 语法备忘”一文(好象没见更好的了?)上面bat内容什么意思就不多解释了吧?下面rem则是对3个参数的注释,参数之间要用空格分开。
现在配置完毕。你可以点击菜单或相关快捷键在EditPlus中编译或运行C#了。
注意:有些同学觉得(3)方便就没有配置(1)和(2),其实也没什么,单一个(3)就OK了。只是如果在第一次编译并执行成功后又修改了程序,如果程序有错误,可执行结果还是有的,当然错误提示也有。呵呵,什么原因就自己琢磨去吧,这么简单的道理想来也难不到你不是?
祝学习工作顺利!