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