Sublime Text 3 & MinGW U盘便携编
前言
学校机房一直在使用老版本的VC6,但是这令人眼花缭乱的文本实在让人头大;
而每次重启都要重置的电脑,配置环境变量也是不可能的了;
由于本人在个人电脑上一直使用Sublime Text 3,便有把Sublime Text 3 便携版装进U盘随身携带的想法;
在查阅相关教程后,本人现整理出一份基于Sublime Text 3制作便携IDE的方法,供大家参考;
以下是实现的步骤:
注:由于本人学校机房为Windows 7系统,且U盘插入后,盘符都为F,所以接下来的许多操作都是基于此,可根据每位用户不同的需要,来选择、修改成为自己合适的版本
如何使用
- 图方便的同学可以直接下载文末的已经制作完成的压缩包(默认U盘盘符为F)
- 检查盘符和路径是否正确,如不正确修改
.sublime-build
和添加缺少的文件.bat
中正确的盘符及路径; - 运行
添加缺少的文件.bat
; - 完成,已经可以正常编译程序了;
方法
下载Sublime Text 3 免安装版
portable version(官方链接可点击直接下载)
或者在http://www.sublimetext.com/3 查找最新版下载
由于机房的电脑大多数是32位操作系统的,且为兼容性考虑,我们选择下载32位的portable version;
- 解压后放在U盘目录下
下载MinGW编译器
链接:https://pan.baidu.com/s/1qTMUPlRhX3WN10GCmI0_Ow 密码:ggde
由于官网下载的链接有时连接不稳定,现在已经有下载好的MinGW32安装包,解压后可以直接使用
- 解压后放在U盘目录下
新建编译系统文件
众所周知,Sublime Text 3 初始只有C++的编译系统,且不是在cmd中运行,cin
以及scanf
函数不能输入,所以我们要新建一个编译系统
因为有两种语言需要编译,要调用两个不同的编译器,分别为gcc\g++
,所以有两个.sublime-build
(编译系统)文件需要新建
- C语言的编译系统写入:
- 打开Sublime Text 3,选择
Tool
-Build System
-New Build System...
来新建一个编译系统 - 复制粘贴输入以下代码:
{
{
"encoding": "cp936",
"working_dir": "$file_path",
"cmd": "F:/SoftWare/MinGW/bin/gcc -fexec-charset=GBK -Wall \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.C",
"variants":
[
{
"name": "Run",
"shell_cmd": "F:/SoftWare/MinGW/bin/gcc -fexec-charset=GBK -Wall \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
}
]
}
- 保存为
MY C.sublime-build
- 至此,C语言的编译系统写入完毕
- C++的编译系统写入:
- 再次打开
Tool
-Build System
-New Build System...
来新建另一个编译系统 - 复制粘贴输入以下代码:
{
"encoding": "cp936",
"working_dir": "$file_path",
"cmd": "F:/SoftWare/MinGW/bin/g++ -fexec-charset=GBK -Wall -std=c++11 \"$file_name\" -o \"$file_base_name\"",
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"selector": "source.C++",
"variants":
[
{
"name": "Run",
"shell_cmd": "F:/SoftWare/MinGW/bin/g++ -fexec-charset=GBK -Wall -std=c++11 \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
}
]
}
- 保存为
MY C++.sublime-build
- 至此,C++的编译系统写入完毕
在这里,需要注意的是,这两个.sublime-build
文件的第4
行"cmd"
以及第12
行"shell_cmd"
中的F:/MinGW32/bin/gcc
和F:/MinGW32/bin/g++
需要修改为自己U盘所在的盘符及路径
一般来说,将MinGW放在U盘根目录下,按照我的编译系统,只需要修改盘符
- 至此,Sublime Text 3 已经能够调用U盘上的
gcc\g++
编译文件了,但是,有些缺少部分文件的电脑在编译时会报错,所以下一步我们来方便地添加这些文件
复制缺少的文件
在第一次编译时,系统有可能会报错,缺少部分文件
由于我们是学校机房的电脑,每一次重启都会重置系统,所以一次添加,永久受益是不现实的,所以,我们选择用.bat
文件来批量操作,化简这一步骤
- 统计需要添加的文件
完整地编译、运行一次程序,在MinGW\bin
目录下找到所有需要添加的文件 - 将文件名记录下来
也可以将文件统一复制到一个新的文件夹,以后有需要可以继续往里面添加 - 制作一个
.bat
文件,将需要的文件复制到相应的目录
- 打开Sublime Text 3,新建一个文件
- 复制粘贴输入以下代码:
echo Add to compile missing files
copy /y "F:\SoftWare\MinGW\lostfile\libgcc_s_dw2-1.dll" "C:\Windows\System32"
copy /y "F:\SoftWare\MinGW\lostfile\libgmp-10.dll" "C:\Windows\System32"
copy /y "F:\SoftWare\MinGW\lostfile\libmpc-3.dll" "C:\Windows\System32"
copy /y "F:\SoftWare\MinGW\lostfile\libmpfr-4.dll" "C:\Windows\System32"
copy /y "F:\SoftWare\MinGW\lostfile\zlib1.dll" "C:\Windows\System32"
copy /y "F:\SoftWare\MinGW\lostfile\libstdc++-6.dll" "C:\Windows\System32"
copy /y "F:\SoftWare\MinGW\lostfile\libgcc_s_dw2-1.dll" "C:\Windows\SysWOW64"
copy /y "F:\SoftWare\MinGW\lostfile\libgmp-10.dll" "C:\Windows\SysWOW64"
copy /y "F:\SoftWare\MinGW\lostfile\libmpc-3.dll" "C:\Windows\SysWOW64"
copy /y "F:\SoftWare\MinGW\lostfile\libmpfr-4.dll" "C:\Windows\SysWOW64"
copy /y "F:\SoftWare\MinGW\lostfile\zlib1.dll" "C:\Windows\SysWOW64"
copy /y "F:\SoftWare\MinGW\lostfile\libstdc++-6.dll" "C:\Windows\SysWOW64"
echo Finished
pause
- 保存为
添加缺少的文件.bat
- 其中,我只缺少6个文件,所以只添加了这6个文件到相应的目录,各位可以对照,按照自己的需求,添加相应的文件
同样的,需要注意的是,这个添加缺少的文件.bat
文件中的的盘符F
需要修改为自己U盘所在的盘符及路径,而后面的C:\Windows\System32
及C:\Windows\SysWOW64
不需要做修改
需要添加缺少文件时,双击即可运行
至此,教程结束
为了方便各位同学,我制作了一个32位的便携编译器,理论上支持Windows Xp、Windows 7以及Windows 10
链接:https://pan.baidu.com/s/1zEPYH9FkuL5bIBTNDuqdIA 密码:0a8e
将它解压缩直接放到U盘根目录下,修改.sublime-build
以及添加缺少的文件.bat
文件中的路径,既可以正常使用
如果有不明白,或者有更好的方法,欢迎留言以及指正!感谢
参考资料
https://blog.csdn.net/nihaoqiulinhe/article/details/78404128
https://www.cnblogs.com/Just--Do--It/p/7482091.html
https://www.cnblogs.com/raind/p/8659579.html
http://www.cnblogs.com/raind/p/8659489.html