天天看点

Mac VSCode C++配置

Mac VSCode C++配置

    • 预先安装
    • 创建项目
    • 配置C++相关设置文件
      • tasks.json文件
      • launch.json文件
      • 开始debug

VSCode在Mac上使用C++相信很多人都觉得配置比较难,配置教程也各式各样。经过多次尝试,并参考了官方教程,这里记录了一个我自己配置成功的方法,非常简单。

预先安装

  1. 安装Visual Studio Code on macOS
  2. 安装C++ extension for VS Code,在扩展插件中搜索

    C++

    Mac VSCode C++配置
  3. 确认已安装

    Clang

    ,

    Clang

    可能在你的电脑里安装过了,打开终端,输入以下命令来确认是否安装。
    clang --version
               
    • Clang

      未安装,使用

      xcode-select --install

      进行安装。

创建项目

  1. 创建一个Hellow World项目进行测试
    mkdir projects
    cd projects
    mkdir helloworld
    cd helloworld
    code .
               
    上述步骤,创建了一个helloworld项目,并在VSCode中打开。
  2. 创建一个cpp文件
    Mac VSCode C++配置
    创建一个文件取名为

    helloworld.cpp

    ,将以下代码粘贴进文件中,并按

    Ctrl+S

    进行保存。
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	for(int i=0; i<=5; i++)
    	   cout << "Hello World " << i << endl;
       return 0;
    }
               

配置C++相关设置文件

我们需要生成三个文件tasks.json (compiler build settings),launch.json (debugger settings),c_cpp_properties.json (compiler path and IntelliSense settings)。

tasks.json文件

tasks.json

用来告诉VSCode如何编译该程序,这里会调用

Clang C++

进行编译。

这里需要将

helloworld.cpp

文件在编辑界面中打开,然后选择

Terminal > Configure Default Build Task

,选择下面选项。

Mac VSCode C++配置

现在在

.vscode

文件夹中,就生成了

tasks.json

文件。将下面的代码替换掉原来的内容。

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "clang++ build active file",
      "command": "/usr/bin/clang++",
      "args": [
        "-std=c++17",
        "-stdlib=libc++",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
      ],
      "options": {
        "cwd": "${workspaceFolder}"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}
           

接下来,回到

helloworld.cpp

文件,按

Ctrl+Shift+B

进行编译或选择

Terminal > Run Build Task

如果编译成功,会在终端中显示,并且可以在目录中看到有一个

helloworld.dSYM

文件夹(这是用于debug的,先不管它)

Mac VSCode C++配置

launch.json文件

该文件用于配置VSCode启动LLDB debug

选择

Run > Add Configuration

,并选择

C++ (GDB/LLDB)

,再选择

clang++ build and debug active file

Mac VSCode C++配置

现在在

.vscode

文件夹中,就生成了

launch.json

文件。其内容如下:

{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "clang++ - Build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "stopAtEntry": true,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "lldb",
      "preLaunchTask": "clang++ build active file"
    }
  ]
}
           
  • 参数解释:
    • program

      表示你具体的想debug的程序,其中

      ${fileDirname}

      表示程序所在的文件夹,

      ${fileBasenameNoExtension}

      表示想要debug的程序。不需要进行修改,对你想要运行的文件进行debug就能够自动识别。
    • stopAtEntry

      : 设置为true时,会让debugger在

      main

      函数处进行一次停顿。
    • preLaunchTask

      的值要和

      task.json

      label

      的值一致。

开始debug

回到

helloworld.cpp

,这一步非常重要,因为VSCode会检测你当前哪个窗口处于活跃状态,并对其进行debug。(活跃:你的界面中显示的窗口,并且有光标)

  • 使用

    F5

    或从菜单栏中选择

    Run > Start Debugging

    就能进行开始debug.

参考

Using Clang in Visual Studio Code

继续阅读