如何让sublime text 2运行程序时打开命令行窗口?

吹尽狂沙 发布于 2013/03/01 09:47
阅读 8K+
收藏 3
如何让sublime text 2运行程序时打开命令行窗口?就像Editplus那样,否则一些程序需要在运行时输入数据,在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的输出栏目中也看不到运行结果了。

是不是还有哪里没有设置到?坐等高手指点
加载中
0
QiNark
QiNark
REPL 装一个
0
吹尽狂沙
吹尽狂沙

引用来自“QiNark”的答案

REPL 装一个
REPL是什么?有什么用?
0
QiNark
QiNark
Sublime REPL 更方便的在Sublime调试,具体去google一下吧,设置很简单,配一下Path就可以了
吹尽狂沙
吹尽狂沙
好的,谢谢,我再试试
0
吹尽狂沙
吹尽狂沙

终于还是让我找到解决方法了

使用批处理文件。本解决方法以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执行生成的可执行文件,可以打开一个命令行窗口,就可以输入数据了。

返回顶部
顶部