linux系统vscode配置c,linux vscode c
操作系统环境:Linux
配置vscode的C/C编译环境需要安装插件:
本文中的配置是指在linux下的vscode插件中,通过手工编写配置文件来代替自动配置。主要原因是插件自动生成的C/C配置文件功能不全面。为了更好的适应C/C的语言特点,编写更强大的C/C语言,配置文件是手工编写的。
=======================================================
VSCODE中的C/C配置至少需要两个文件:vscode/task.json。vscode/launch.json
本文中演示的c语言代码:
mainX.c
#包含stdio.h
void main()
{
int a=0;
a;
a=2;
a-=3;
printf(a=%d\n ,a);
返回;
}
运行结果:
===========================================================。vscode/task.json为C/C项目配置编译条件:
{
任务:[
{
类型:外壳,
标签: C/C: gcc-7生成活动文件,
命令:/usr/bin/gcc-7 ,
args: [
-fdiagnostics-color=always ,
-g ,
${file} ,
-哦,
$ { file dirname }/$ { file basename no extension } 111
],
选项:{
CWD : $ {文件目录名}
},
问题匹配器:[
gcc美元
],
组:{
种类:建立,
isDefault: true
},
调试器生成的详细信息“:”任务。
}
],
版本: 2.0.0
}
命令:/usr/bin/gcc-7 ,指定c/c编译器路径。
args: [
-fdiagnostics-color=always ,
-g ,
${file} ,
-哦,
$ { file dirname }/$ { file basename no extension } 111
],“arg”参数中的“-g”表示编译后的可执行文件有调试信息。一般来说,我们习惯在这个参数之后指定要编译的源文件,其中{ file }指的是当前打开的当前文件。在这里,我们还可以重写文件名,否则,每次编译时,我们都必须确保当前打开的文件是要编译的文件。这里唯一要编译的文件是指主函数所在的文件。
“-o”是指编译后的文件存储地址和文件名,${fileDirname}是指当前打开的文件所在的目录,${fileBasenameNoExtension}是指当前打开的文件的文件名,不带扩展名。在这里,我们使用${fileBasenameNoExtension}111来区分名称,这意味着编译后的文件名是mainX111。
Cwd : $ {文件目录名} , CWD 指定当前目录。
=====================================================。vscode/launch.json为C/C项目配置运行条件:
{
//使用IntelliSense了解相关属性。
//悬停在上面可查看现有属性的描述。
//更多信息请访问:https://go.microsoft.com/fwlink/? linkid=830387
版本: 0.2.0 ,
配置:[
{
名称: gcc-7-生成和调试活动文件,
类型: cppdbg ,
请求:启动,
程序“:“$ {文件目录名}/$ {文件基名称扩展}111”,
args: [],
stopAtEntry: false,
CWD : $ {文件目录名} ,
环境:[],
“external console”:false,
MIMode: gdb ,
setupCommands: [
{
描述:为gdb启用整洁打印,
文本:-启用-美化-打印,
ignoreFailures :真
}
],
预启动任务: C/C: gcc-7生成活动文件,
miDebuggerPath: /usr/bin/gdb
}
]
}“program”:“$ { file dirname }/$ { filebasename no extension } 111”,“program”指定要执行的文件路径。
“预启动任务”:“C/C: gcc-7生成活动文件”,“预启动任务”指定在运行编译后的文件之前要执行的任务。
需要注意的是,“preLaunchTask”中的值“C/C: gcc-7生成活动文件”应该与task.json中的值“C/C: gcc-7生成活动文件”一致,否则在运行编译后的文件之前,将找不到需要编译的配置信息。
========================================================。vscode/task.json
{
任务:[
{
类型:外壳,
标签“:”生成任务,
命令:/usr/bin/gcc-7 ,
args: [
-fdiagnostics-color=always ,
-g ,
${file} ,
-哦,
$ { file dirname }/$ { file basename no extension }
],
选项:{
CWD : $ {文件目录名}
},
问题匹配器:[
gcc美元
],
组:{
种类:建立,
isDefault: true
},
调试器生成的详细信息“:”任务。
}
],
版本: 2.0.0
}。vscode/launch.json
{
//使用智能感知了解相关属性。
//悬停以查看现有属性的描述。
//欲了解更多信息,请访问:https://go.microsoft.com/fwlink/?linkid=830387
版本: 0.2.0 ,
配置:[
{
名称: gcc-7 -生成和调试活动文件,
类型: cppdbg ,
请求:启动,
程序: $ {文件目录名}/$ {文件基本名无扩展名} ,
args: [],
stopAtEntry: false,
CWD : $ {文件目录名} ,
环境:[],
“外部控制台”:假,
MIMode: gdb ,
setupCommands: [
{
描述: 为基因组数据库启用整齐打印,
文本:-启用-美化-打印,
ignoreFailures :真
}
],
预启动任务:生成任务,
miDebuggerPath: /usr/bin/gdb
}
]
}=============================================================
参考资料:
https://code.visualstudio.com/docs/editor/variables-reference
预定义变量
支持以下预定义变量:
${工作区文件夹}-在对代码中打开的文件夹的路径${ workspaceFolderBasename }-在对代码中打开的文件夹的名称,不带任何斜杠(/)${ file }-当前打开的文件${ fileworkspace文件夹}-当前打开的文件的工作区文件夹${相对文件}-当前打开的文件相对于工作区文件夹{ relativeFileDirname }-当前打开的文件的目录名相对于工作区文件夹{ file basename } --当前打开的文件的基本名${ fileBasename无扩展名活动文件中的行号${所选文本}-活动文件中当前选定的文本${执行路径}-运行对代码可执行文件的路径${ defaultBuildTask }-默认构建任务的名称${路径分隔符}-操作系统用来分隔文件路径中的组件的字符
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。