这篇博文主要记录一下当时在Mac下折腾VS Code平台C/C++开发环境的过程。整个过程其实说来也很简单,主要基于B站的一个视频以及巨硬官方Doc。
做事做全套,自己做回课代表,文字记录下B站视频的大致步骤吧,毕竟视频节奏比较慢,而且提炼要点再利用的时候比较不方便(主要是不方便,毕竟懒癌+拖延症晚期患者)。
-
官网下载安装VS Code,没什么可说的
-
添加
code命令到环境变量(可选)。Shift + Cmd + P调出Command Palette,搜索install找到Shell Command: install 'code' command in PATH。做完之后效果就是可以在终端直接用code指令打开指定目录在工作区中。快人一步,就这样。 -
安装
C/C++插件,微软出品。 -
安装
codelldb,通过其启动lldb来支持debug。究其原因,官方这个插件可能对debug支持不是很好(据此UP主,未考证)。Win/Linux下用gdb,因此无需这步。 -
在debug界面点击
create a launch.json file,environment选择LLDB模版。修改默认
program值为${workspaceFolder}/${fileBasenameNoExtension} -
配置tasks.json
在Command Palette搜索
tasks找到Tasks:Config Task,选择C/C++:clang(++)build active file(根据项目语言是C/C++选择clang/clang++)。给args添加C/C++标准"-std=c11"或"-std=c++17"。 -
设置preLanuchTask
preLanuchTask的名字自解释了其用途。在
launch.json文件中为coningurations添加"preLaunchTask": "clang build active file"配置。其中的"clang build active file"值来自tasks.json中的"label": "clang build active file"。 -
配置全局C/C++标准。
点击UI左下角齿轮图标Setting,搜索
c standard,在出来的选项中分别设置对应标准。
跟着这个步骤配置下来已经可以满足一些简单的编码需求了,例如写个Hello World、调试Leetcode题目之类。
但是按照这个步骤配置下来有个问题,包括一些在网上找到的视频或者教程都有类似问题。就是它们都只对单文件C/C++项目有用,例如整个项目只有一个main.c文件,一旦开发多文件C/C++项目便会报出链接error。因为按该配置,tasks.json中args为-g ${file} -o ${fileDirname}/${fileBasenameNoExtension},因此VS Code只会编译当前文件,在解析在其他文件中定义的函数、变量时自然会报错。
放狗一顿搜索之后从StackOverflow辗转来到官方Doc,问题迎刃而解。其中最重要的部分如下:
You can modify your tasks.json to build multiple C++ files by using an argument like "{file}. This will build all .cpp files in your current folder. You can also modify the output filename by replacing "{fileBasenameNoExtension}" with a hard-coded filename (for example "${workspaceFolder}/myProgram.out").
确实,官方文档是最好的教程。
开发环境折腾好了,可以安心地吃灰去了愉快地撸代码了~