解决方法:使用批处理文件。本解决方法以C语言程序为例,编译器是gcc,我下载了MINGW直接解压到C盘根目录下,并设置了相应的PATH。其它编程语言可以按照这个思路适当修改批处理文件。
新建两个批处理文件,一个名为runp.bat,内容如下:
@echo off
%1
pause
exit一个为callrunp.bat,内容如下:
@echo off
start runp.bat %1
然后在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执行生成的可执行文件,可以打开一个命令行窗口,就可以输入数据了。
新建两个批处理文件,一个名为runp.bat,内容如下:
@echo off
%1
pause
exit一个为callrunp.bat,内容如下:
@echo off
start runp.bat %1
然后在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执行生成的可执行文件,可以打开一个命令行窗口,就可以输入数据了。
解决方案 »
- DataInputStream的实际用法
- 怎么实现类似qq的动作?
- 怎么在Socket Server中实现socket转发
- 在swt中,如何改变Image的显示大小(在TreeView或ToolBar中)
- Celeron D 331能在eclipse下跑程序吗?
- 用Socket写的实现Smtp的邮件发送端。
- 请问如何用java来实现新建文件夹,拷贝,删除文件?最好有代码说明,多谢了!
- 如何在JBuilder 8的IDE中输入中文呀?
- 在杭州那里考SCJP比较好
- 在JAVA的JFC中有没有象VC中的那么容易的显示消息(如,MessageBox() )的对话框的函数或类,如果没有如果要在程序中用弹出的模式对话框来显示工具应该怎么办!
- 请问哪里可以下载J2SE的API文档?
- 求大神解答
只要在Sublime Text 2\Data\Packages\User文件夹里,复制一份ST自带的C++.sublime-build,并修改为:
{
"cmd": ["D:\\Program Files\\MinGW\\bin\\gcc", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++",
"variants":
[
{
"name": "Run",
"shell": true,
"cmd": ["start", "${file_path}/${file_base_name}"]
}
]
}
"shell": true,
"cmd": ["start", "${file_path}/${file_base_name}"]
{
"cmd": ["D:\\Program Files\\tcc\\tcc.exe", "${file}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c", "variants":
[
{
"name": "Run",
"shell": true,
"cmd": ["start", "cmd", "/c", "${file_base_name} & echo. & pause"]
}
]
}
关于GBK编码的一个小问题:convertToUTF8插件有点小毛病。写完程序,当第一次按下ctrl+b编译(源文件是自动保存的),再按下crtl+shift+b运行程序,如果程序输出里有中文,则cmd中会出现乱码。然后再按下crtl+b第二次编译,再运行则不会出现乱码,中文能正确显示。正心烦呢,我考虑是convertToUTF8插件的问题。
他的这个只有在脚本运行无错误的时候,也就是没有异常出来,就可以pause住,但是脚本出错了,cmd窗口还是会一闪而过,如果改成 "cmd": ["start", "cmd", "/c", "${file_base_name} || echo. && pause"],就可查看错误,但是运行正常又会一闪而过。有什么方法可以两者兼得?LZ的简单bat其实可以的·····
也可以改为"cmd": ["start","cmd", "/k", "${file_base_name} || echo. && pause && exit"]
汗! 今天才知道在windows的批处理里面 & 与 &&是不一样的,我sb了·····
{
"cmd": ["javac","-encoding","UTF-8","-d",".","$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",
"encoding":"GBK",
"variants":
[
{
"name": "Run",
"shell": true,
"cmd" : ["start","cmd","/c", "java ${file_base_name}&pause"],
"working_dir": "${file_path}",
"encoding":"GBK"
}
]
}
后来我又给sublime text装了暗色主题,配合monokai配色,对我来说sublime就是完美的了。
一开始,sublime text最吸引我的就是monokai配色,偶很肤浅的说。
请问楼主,在sublime text里,是否遇到过带有package名称的java类不能直接用快捷键运行的情况呢?
请问楼主,在sublime text里,是否遇到过带有package名称的java类不能直接用快捷键运行的情况呢?
你是不是指运行的时候必须用这种形式的命令:java xx.yyy?
没啥好办法,除非再做一个运行命令,至少我只能想到这么多
如果你有这方面的需要,请参考:用批处理实现在Editplus中直接运行有package包名称的Java类
---------------------
一直不明白,请教一下 source.c 是什么含义... 在 sublime 官网 也没看到 介绍 buildSystem 的资料
source.java 就是源文件是Java代码。
这是我整理的解决办法。
其实最近我上课不用Sublime Text了,都是英文界面,学生完全不愿意费心看,而且需要配置的地方也比较多,很多学生面对这种需要自己动脑动手的事情都不愿意下点功夫,所以我最近用的是EverEdit,国人开发的一个编辑器,中文的,支持代码高亮、自动完成什么的常用功能,很牛,不如ST,不过比Editplus好,而且也可以自定义工具,和Editplus方式几乎一样,很容易上手,我建议你也可以试试。
不过即使换成EverEdit也不行,我的学生依然懒得用点心思,讲了一个学期,居然还有用DreamWeaver写代码的。所以我打算下次直接用NetBeans了,几乎不用配置,还是集成环境,还是中文,还有向导
C.sublime-build文件用记事本打开后,填入以下内容:
{
"cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++", "variants":
[
{
"name": "Run",
"cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "cmd", "/c", "${file_path}/${file_base_name}"]
},
{
"name": "RunInCommand",
"cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]
}
]
}就是以上这些内容,我在博客里写的内容是用csdn的代码片写的,有时候打开页面这个代码片打不开,可以刷新下就可以看到了。您试一下吧。有问题可以再给我留言!
我那个代码片地址是:https://code.csdn.net/snippets/128900