Оригинал

  • Установить VS Code
  • Установить C/C++ extension от Microsoft

Как проверить наличие clang ?

clang --version

Пример вывода команды:

Apple clang version 14.0.0 (clang-1400.0.29.202)

Target: arm64-apple-darwin22.1.0

Thread model: posix

InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Если не установлен:

xcode-select --install

Hello World

mkdir cpp-hello
cd cpp-hello
code .

Создаем файл hello.cpp c содержимым:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg { "Mom,", "I'm a", "programmer" };

    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

Дальше можно тыкнуть на кнопку, в первый раз тебя попросят выбрать из выпадающей панели нужную команду, во второй и последующий раз ничего выбирать не придется

run c plus plus code in vscode

Скорее всего (так было у меня), после запуска сборки вывалится синтаксическая ошибка, насколько я понял по умолчанию создается .vscode/tasks.json с конфигурацией для cppbuild, со стандартной библиотекой версии, которая ничего не знает про vector

Поэтому придется поправить .vscode/tasks.json следующим образом:

{
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: clang++ сборка активного файла",
			"command": "/usr/bin/clang++",
			"args": [
				"-std=c++17", // ◀︎ То, что я добавил, чтобы заработала сборка
				"-stdlib=libc++", // ◀︎ То, что я добавил, чтобы заработала сборка
				"-fcolor-diagnostics",
				"-fansi-escape-codes",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "Задача создана отладчиком."
		}
	],
	"version": "2.0.0"
}

После этого, видим заветное "Сборка завершена", теперь можно запустить наш бинарник hello (этот файл должен был появиться рядом с hello.cpp)

./hello

И видим вывод программы:

Mom, I'm a programmer