Mac下 vscode c/c++ 自动编译配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/luyao_cxy/article/details/81910178

本人mac版本10.12.5 ,vscode版本为 1.13

步骤很简单,添加好各种与c++有关的插件后,reload一次,重启vscode。

在helloworld.cpp所在文件夹下创建.vscode文件夹,在.vscode中创建2个文件:tasks.json , launch.json

接着是各个文件的内容:

tasks.json:(编译配置,也就是用cpp生成a.out的过程)


    
    
  1. {
  2. // See https://go.microsoft.com/fwlink/?LinkId=733558
  3. // for the documentation about the tasks.json format
  4. ”version”: ”0.1.0”,
  5. ”command”: ”g++”, //command 和 args 组合为编译c++命令,即 g++ -g xxx.cpp -o a.out
  6. ”isShellCommand”: true,
  7. ”args”: [ ”-g”, ${file}</span></span></span><span class="hljs-string">"</span></span>,<span class="hljs-string"><span class="hljs-string">"-o"</span></span>,<span class="hljs-string"><span class="hljs-string">"a.out"</span></span>], <span class="hljs-comment"><span class="hljs-comment">//${file}代表着任意文件名,代替了helloworld.cpp
  8. ”showOutput”: ”always”,
  9. ”problemMatcher”: { //正则匹配,删除无用符号
  10. ”owner”: ”cpp”,
  11. ”fileLocation”: [ ”relative”, ${workspaceRoot}</span></span></span><span class="hljs-string">"</span></span>],</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"pattern"</span></span>: {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"regexp"</span></span>: <span class="hljs-string"><span class="hljs-string">"^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$”,
  12. ”file”: 1,
  13. ”line”: 2,
  14. ”column”: 3,
  15. ”severity”: 4,
  16. ”message”: 5
  17. }
  18. }
  19. }

launch.json:(调试配置,也就是运行a.out的过程)


    
    
  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "(lldb) Launch",
  6. "type": "cppdbg",
  7. "request": "launch",
  8. "program": "${workspaceRoot}</span></span></span><span class="hljs-string">/a.out"</span></span>, <span class="hljs-comment"><span class="hljs-comment">//调试,也就是运行a.out文件</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"args"</span></span>: [],</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"stopAtEntry"</span></span>: <span class="hljs-literal"><span class="hljs-literal">false</span></span>,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"cwd"</span></span>: <span class="hljs-string"><span class="hljs-string">"</span><span class="hljs-subst"><span class="hljs-string"><span class="hljs-subst">${workspaceRoot}",
  9. "environment": [],
  10. "externalConsole": true,
  11. "MIMode": "lldb",
  12. "preLaunchTask": "g++" //代表执行launch.json前先执行tasks.json中的g++指令
  13. }
  14. ]
  15. }


配置完之后,按f5就能对任意在工作目录下的cpp文件进行一键编译运行调试了


本人mac版本10.12.5 ,vscode版本为 1.13

步骤很简单,添加好各种与c++有关的插件后,reload一次,重启vscode。

在helloworld.cpp所在文件夹下创建.vscode文件夹,在.vscode中创建2个文件:tasks.json , launch.json

接着是各个文件的内容:

tasks.json:(编译配置,也就是用cpp生成a.out的过程)


  
  
  1. {
  2. // See https://go.microsoft.com/fwlink/?LinkId=733558
  3. // for the documentation about the tasks.json format
  4. ”version”: ”0.1.0”,
  5. ”command”: ”g++”, //command 和 args 组合为编译c++命令,即 g++ -g xxx.cpp -o a.out
  6. ”isShellCommand”: true,
  7. ”args”: [ ”-g”, ${file}</span></span></span><span class="hljs-string">"</span></span>,<span class="hljs-string"><span class="hljs-string">"-o"</span></span>,<span class="hljs-string"><span class="hljs-string">"a.out"</span></span>], <span class="hljs-comment"><span class="hljs-comment">//${file}代表着任意文件名,代替了helloworld.cpp
  8. ”showOutput”: ”always”,
  9. ”problemMatcher”: { //正则匹配,删除无用符号
  10. ”owner”: ”cpp”,
  11. ”fileLocation”: [ ”relative”, ${workspaceRoot}</span></span></span><span class="hljs-string">"</span></span>],</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"pattern"</span></span>: {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"regexp"</span></span>: <span class="hljs-string"><span class="hljs-string">"^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$”,
  12. ”file”: 1,
  13. ”line”: 2,
  14. ”column”: 3,
  15. ”severity”: 4,
  16. ”message”: 5
  17. }
  18. }
  19. }

launch.json:(调试配置,也就是运行a.out的过程)


  
  
  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "(lldb) Launch",
  6. "type": "cppdbg",
  7. "request": "launch",
  8. "program": "${workspaceRoot}</span></span></span><span class="hljs-string">/a.out"</span></span>, <span class="hljs-comment"><span class="hljs-comment">//调试,也就是运行a.out文件</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"args"</span></span>: [],</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"stopAtEntry"</span></span>: <span class="hljs-literal"><span class="hljs-literal">false</span></span>,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> <span class="hljs-string"><span class="hljs-string">"cwd"</span></span>: <span class="hljs-string"><span class="hljs-string">"</span><span class="hljs-subst"><span class="hljs-string"><span class="hljs-subst">${workspaceRoot}",
  9. "environment": [],
  10. "externalConsole": true,
  11. "MIMode": "lldb",
  12. "preLaunchTask": "g++" //代表执行launch.json前先执行tasks.json中的g++指令
  13. }
  14. ]
  15. }


配置完之后,按f5就能对任意在工作目录下的cpp文件进行一键编译运行调试了


猜你喜欢

转载自blog.csdn.net/luyao_cxy/article/details/81910178