MacOS下VS Code写C/C++真香

1,001 阅读2分钟

这篇博文主要记录一下当时在Mac下折腾VS Code平台C/C++开发环境的过程。整个过程其实说来也很简单,主要基于B站的一个视频以及巨硬官方Doc

做事做全套,自己做回课代表,文字记录下B站视频的大致步骤吧,毕竟视频节奏比较慢,而且提炼要点再利用的时候比较不方便(主要是不方便,毕竟懒癌+拖延症晚期患者)。

  1. 官网下载安装VS Code,没什么可说的

  2. 添加code命令到环境变量(可选)。 Shift + Cmd + P调出Command Palette,搜索install找到Shell Command: install 'code' command in PATH。做完之后效果就是可以在终端直接用code指令打开指定目录在工作区中。快人一步,就这样。

  3. 安装C/C++插件,微软出品。

  4. 安装codelldb,通过其启动lldb来支持debug。究其原因,官方这个插件可能对debug支持不是很好(据此UP主,未考证)。Win/Linux下用gdb,因此无需这步。

  5. 在debug界面点击create a launch.json file,environment选择LLDB模版。

    修改默认program值为${workspaceFolder}/${fileBasenameNoExtension}

  6. 配置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"

  7. 设置preLanuchTask

    preLanuchTask的名字自解释了其用途。在launch.json文件中为coningurations添加 "preLaunchTask": "clang build active file"配置。其中的"clang build active file"值来自tasks.json中的"label": "clang build active file"

  8. 配置全局C/C++标准。

    点击UI左下角齿轮图标Setting,搜索c standard,在出来的选项中分别设置对应标准。

跟着这个步骤配置下来已经可以满足一些简单的编码需求了,例如写个Hello World、调试Leetcode题目之类。

但是按照这个步骤配置下来有个问题,包括一些在网上找到的视频或者教程都有类似问题。就是它们都只对单文件C/C++项目有用,例如整个项目只有一个main.c文件,一旦开发多文件C/C++项目便会报出链接error。因为按该配置,tasks.jsonargs-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 "workspaceFolder/.cpp"insteadof{workspaceFolder}/*.cpp" instead of {file}. This will build all .cpp files in your current folder. You can also modify the output filename by replacing "fileDirname/{fileDirname}/{fileBasenameNoExtension}" with a hard-coded filename (for example "${workspaceFolder}/myProgram.out").

确实,官方文档是最好的教程。

开发环境折腾好了,可以安心地吃灰去了愉快地撸代码了~