欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sublime text3配置c++编译环境

程序员文章站 2022-06-25 21:45:38
...

一、先了解C、C++的编译及运行相关指令

首先我们进入文件所在的目录作为工作目录

然后

gcc 源文件名 -o 可执行文件名

建议大家加入-Wall选项,打开常用的警告。
sublime text3配置c++编译环境

二、了解配置文件书写

在Sublime的安装目录的Packages文件夹中,有个文件叫C++.sublime-package

默认内容为:

{
	"shell_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",
			"shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" && \"${file_path}/${file_base_name}\""
		}
	]
}``

这个JSON格式的配置文件就是sublime中build文件的真面目了。花括号里面是一个个的键值对,它们之间用逗号隔开。键和值中间是一个冒号。为了方便下面把键称为名称。

名称和值都要用双引号括起来,因此值里面用到双引号的话,就要用==转义 \” ==(反斜杠+双引号)表示。

  • working_dir 运行cmd是会先切换到working_dir指定的工作目录
  • cmd 包括命令及其参数。如果不指定绝对路径,外部程序会在你系统的:const:PATH 环境变量中搜索。
  • shell_cmd 相当于shell:true的cmd ,cmd可以通过shell运行。
  • file_regex 该选项用Perl的正则表达式来捕获构建系统的错误输出到sublime的窗口。
  • selector 在选定 Tools | Build System | Automatic 时根据这个自动选择编译系统。
  • variants 用来替代主构建系统的备选。也就是一个配置文件可以对应多个执行命令
  • name 只在variants下面有,设置命令的名称,例如Run。

常用变量

sublime text3配置c++编译环境sublime text3配置c++编译环境如果有编译错误,错误信息就会被”file_regex”中的正则表达式匹配并显示。

variants的值是一个数组,可以放很多个对象,每个对象表示一个命令。里面name表示了这个命令的名称为Run,也就是运行。编译时选择C++ Single File-Run就会执行这里面的shell_cmd。

自定义的c编译运行配置文件

{
	"working_dir": "$file_path",
	"cmd": "gcc -Wall \"$file_name\" -o \"$file_base_name\"",
	"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
	"selector": "source.c",
 
	"variants": 
	[
		{	
		"name": "Run",
        	"shell_cmd": "gcc -Wall \"$file\" -o \"$file_base_name\" && start cmd /c \"\"${file_path}/${file_base_name}\" & pause\""
		}
	]
}

和默认相比,就是修改了selector部分为只选择.c文件。Run中的shell_cmd后面部分加上了start cmd /c,start作用是新开一个cmd窗口,cmd表示要执行一个命令行,/c执行完后退出新开的窗口,后面的& pause保证运行结束后窗口不会立即退出。这样Run就会在新的cmd窗口中运行了。

相关标签: sublime text