IDE

VS Code

Устанавливаем расширения:

  • C/C++ — ms-vscode.cpptools

  • C/C++ Extension Pack — ms-vscode.cpptools-extension-pack

Устанавливаем компилятор для C/C++ — MSVC, GCC или CLang — грубо говоря, в зависимости от ОС (MSVC — Windows, GCC — Unix, CLang — MacOS; конечно, можно исхитриться и настроить любой из них под вашу ОС).

Инструкция для Windows по установке MSVC и пишем первое приложение: https://code.visualstudio.com/docs/cpp/config-msvc

Создание проекта

Важно, чтобы code . запускалась из консоли разработчика msvc (Developer Command Prompt for VS 2022), иначе VS Code не сможет запустить cl.exe компилятор.

mkdir my_cpp_project
cd my_cpp_project
code .

Создаем файл и пишем код:

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

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
    
    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

Жмем run и выбираем cl.exe.

Run configuration: tasks.json

После первого запуска VS Code создаст файл tasks.json:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "C/C++: cl.exe build active file",
      "command": "cl.exe",
      "args": [
        "/Zi",
        "/EHsc",
        "/Fe:",
        "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "${file}"
      ],
      "problemMatcher": ["$msCompile"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "Task generated by Debugger."
    }
  ]
}

В нем настройки сборки проекта. Подробнее об этом файле https://code.visualstudio.com/docs/editor/variables-reference.

Пример уже подправленного конфига (нам надо будет создать директории bin/debug, obj/debug и source):

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "My Debug",
            "command": "cl.exe",
            "args": [
                "/Zi",
                "/EHsc",
                "/nologo",
                "/Fe:",
                "${workspaceFolder}\\bin\\debug\\${fileBasenameNoExtension}.exe",
                "/Fd:",
                "${workspaceFolder}\\obj\\debug\\vc140.pdb",
                "/Fo:",
                "${workspaceFolder}\\obj\\debug\\${fileBasenameNoExtension}.obj",
                "${workspaceFolder}\\source\\*.cpp"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$msCompile"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Собрать и запустить проект"
        }
    ],
    "version": "2.0.0"
}

Debug configuration: launch.json

Мы смогли запустить код, теперь как подправить конфиг по умолчанию для дебага: жмем на шестеренку сверху справа и выбираем ранее созданную конфигурацию на запуск — создастся файл launch.json:

{
    "configurations": [
        
        {
            "name": "C/C++: cl.exe сборка и отладка активного файла",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\bin\\debug\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "console": "externalTerminal",
            "preLaunchTask": "My Debug"
        }
    ],
    "version": "2.0.0"
}

C/C++ Configurations

Если хотим больше контроля над C/C++, создайте конфиг c_cpp_properties.json. Это позволит нам менять путь до компилятора, библиотек, выбрать стандарт C++ (по умолчанию это C++17). Жмем Ctrl+Shift-P (command palette) и выбираем C/C++: Edit configurations (UI).

Run VS Code outside Developer Command Prompt

Чтобы не запускать VS Code (code .) из специальной оболочки VS 2022, можно в tasks.json настроить ее автоматическое открытие:

{
    "windows": {
        "options": {
            "shell": {
                "executable": "cmd.exe",
                "args": [
                    "/C",
                    // The path to VsDevCmd.bat depends on the version of Visual Studio you have installed.
                    "\"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/Common7/Tools/VsDevCmd.bat\"",
                    "&&"
                ]
            }
        }
    },
    "tasks": [
        // ...
    ]
}

И добавляем cl.exe в PATH.

+ надо добавить библиотеки https://qna.habr.com/q/475262

И я не справился: легче запускать VS Code из Developer Command Prompt

Last updated