sublime text一键命令行运行python/java/C/C++
最近在搞sqlite3项目,那个整合版的sqlite3.c有22w行,vs或者vscode打开都经常卡住,而且不是卡一会,会一直卡,随便改个东西又要重新解析一下。
主要还是整合版的源代码太长太复杂了。用editplus打开不卡,但是配色太朴素了,试了网上说的monokai主题设置也没有sublime text或vscode里面的好看。
用sublime text打开也不卡,于是顺便配置一下sublime编译运行环境吧。
其实sublime自动支持python运行环境,但是无法交互,要是有input就悲剧了,
可以配置直接在命令行运行python,这样就可以交互了,
sublime就是自带的终端无法交互,网上有说装个插件可以交互的,不过我一直没有成功过,
1.sublime使用系统命令行运行python
其实就是用shell_cmd运行start cmd,这样就可以打开一个cmd窗口运行了。
点击工具-编译系统-新建编译系统,输入
{
"working_dir": "$file_path",
"shell_cmd": "start cmd /c \"python -u \"$file\"&pause\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"encoding": "cp936"
}
保存到默认的User文件夹,名字可以叫cmdPython.sublime-build,运行时选cmdPython编译系统就可以了。
这个python是添加了系统环境变量,系统默认的python,
如果没有添加环境变量,或者想用不同的版本,可以输入具体的python路径,比如
"shell_cmd": "start cmd /c \"D:\\python\\py64\\python.exe -u \"$file\"&pause\"",
注意\"不能少,这是为了保证所有命令都在这个cmd窗口执行。
2.sublime一键命令行编译运行java
跟python类似,都是start cmd,但是java还有个编译,
网上的教程都是编译+运行分开的,可能为了方便在编译时发现问题,
但是用sublime一般都编辑比较简单的脚本,复杂的直接上idea了,
还是搞成一键编译运行简单一点,用\"拼接命令就可以了,
也是新建编译系统,输入:
{
"working_dir": "$file_path",
"shell_cmd": "start cmd /c \"javac -encoding UTF-8 \"$file\"&& java ${file_base_name}&pause\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.java",
//"encoding": "cp936"
}
这里加了个-encoding UTF-8编码参数,因为很多java文件都是utf-8编码的,sublime默认GBK,有中文就会乱码,
当然如果文件不是UTF-8的就不用加这个编码了。
可以把这个保存为javaUTF8,另外再新建一个javaGBK的编译系统:
{
"working_dir": "$file_path",
"shell_cmd": "start cmd /c \"javac \"$file\"&& java ${file_base_name}&pause\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.java",
"encoding": "cp936"
}
3.sublime命令行一键编译运行C/C++
网上很多都是编译运行分开的,这里也搞成一键编译运行,快速高效。
gcc:
跟java类似,新建编译系统,输入:
{
"working_dir": "$file_path",
"shell_cmd": "start cmd /c \"gcc \"${file}\" -o \"${file_path}/${file_base_name}\" -lm -Wall -std=c11 &&\"${file_path}/${file_base_name}\"& pause\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector" : "source.c, source.c++"
}
保存为gcc.sublime-build
-lm是加math库,-Wall是warning all,提示所有警告(C的warning很多,一般不影响运行)
g++:
跟gcc类似,但是不用-lm和-std=c11
新建编译系统,输入
{
"working_dir": "$file_path",
"shell_cmd": "start cmd /c \"g++ \"${file}\" -o \"${file_path}/${file_base_name}\" -Wall &&\"${file_path}/${file_base_name}\"& pause\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector" : "source.c, source.c++",
}
保存为g++.sublime-build
sublime选好编译系统后可以直接按ctrl+B编译运行,非常方便。
另外可以配置直接在sublime显示错误和警告,但是我感觉那样很奇怪,还不如直接在命令行报错。
网上有免安装版的sublime,配置一次可以用一辈子,重装系统也不影响。