38°

让Sublime Text 2运行程序时弹出命令行窗口

Sublime Text 2功能非常强大,但是使用Sublime Text 2编写和编译,然后运行程序时,运行结果直接显示在Sublime Text 2中,如果需要从命令行输入数据,将无能为力,而且会提示报错。

我查了sublime text 2官网的说明,有这么一段:shell:Optional. If true, cmd will be run through the shell (cmd.exe, bash…).大意应该是在编译配置文件中加上“shell”:true就可以让程序在shell中运行,但是我试了,无论是windows还是linux(Xubuntu),java,c或者python都不行,只有C语言中有点反应,没有看到shell窗口,但是启用这一选项之后,sublime text 2的输出栏目中也看不到运行结果了。

解决方法:使用批处理文件。本解决方法以C语言程序为例,编译器是gcc,我下载了MINGW直接解压到C盘根目录下,并设置了相应的PATH。其它编程语言可以按照这个思路适当修改批处理文件。

新建两个批处理文件,一个名为runp.bat,内容如下:

@echo off
%1
pause
exit

一个为callrunp.bat,内容如下:

@echo off
start runp.bat %1

这两个bat文件放到系统路径下。我将这两个bat文件放到了c:\MINGW\bin\目录下,因为这个路径已经加入了path,这样这两个bat文件就可以直接被调用。

然后在sunlime text 2中新建一个配置文件C.sublime-build,内容如下:

{
"cmd": ["gcc", "${file}", "-o", "${file_path}/${file_base_name}.exe"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c",

"variants": [ { "name": "Run", "cmd": ["callrunp.bat", "${file_base_name}.exe"], "working_dir": "${file_path}" } ] }

上半部分是从sublime text 2的C++编译配置文件中抄来的,只是把编译器改成了gcc,可编译的文件名改成了source.c。后半部分就是关键,使用callrunp.bat执行生成的可执行文件,可以打开一个命令行窗口,就可以输入数据了。

本文由【吹尽狂沙】发布于开源中国,原文链接:https://my.oschina.net/u/933201/blog/3159631

全部评论: 0

    我有话说: