VS Code
settings.json
{
"editor.tabSize": 2,
"editor.formatOnSave": true,
"C_Cpp.clang_format_fallbackStyle": "Google"
}
- Linux
- Windows
c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/src",
"${workspaceFolder}/third_party/spdlog-1.11.0/include",
"${workspaceFolder}/third_party/vulkansdk-1.3.231.2/x86_64/include"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"compilerPath": "/usr/bin/gcc",
"cStandard": "c11",
"cppStandard": "c++17",
"browse": {
"path": ["${workspaceFolder}"],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 4
}
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/src",
"${workspaceFolder}/third_party/spdlog-1.11.0/include",
"${workspaceFolder}/third_party/vulkansdk-1.3.231.2/x86_64/include"
],
"defines": [],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.32.31326/bin/Hostx64/x64/cl.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "windows-msvc-x64",
"configurationProvider": "ms-vscode.cmake-tools"
}
],
"version": 4
}
- Linux
- Windows
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build-debug/src/main",
"preLaunchTask": "Build Debug",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(msvc) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/backend/build-debug/src/Debug/main",
"cwd": "${workspaceRoot}",
"args": [],
"environment": [{
"name": "PATH",
"value": "${workspaceFolder}/backend/third_party/vulkansdk-1.3.231.2/x86_64/bin;%PATH%"
}
],
"stopAtEntry": false,
"console": "integratedTerminal",
"preLaunchTask": "Build Debug"
}
]
}
tasks.json
{
"version": "2.0.0",
"runner": "terminal",
"tasks": [
{
"type": "shell",
"label": "Create Debug Build Directory",
"linux": {
"command": "mkdir -p ${workspaceFolder}/build-debug"
},
"problemMatcher": [],
"detail": "Creates the build-debug folder."
},
{
"type": "shell",
"label": "Create Build Coverage Directory",
"linux": {
"command": "mkdir -p ${workspaceFolder}/build-coverage"
},
"problemMatcher": [],
"detail": "Creates the build-coverage folder."
},
{
"type": "shell",
"label": "CMake Configure Debug",
"command": "/usr/bin/cmake",
"args": [
"-D",
"CMAKE_BUILD_TYPE=DEBUG",
".."
],
"problemMatcher": [],
"options": {
"cwd": "${workspaceFolder}/build-debug"
},
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": [
"Create Debug Build Directory"
],
"detail": "Configures CMake."
},
{
"type": "shell",
"label": "CMake Configure Coverage",
"command": "/usr/bin/cmake",
"args": [
"-D",
"CMAKE_BUILD_TYPE=COVERAGE",
".."
],
"problemMatcher": [],
"options": {
"cwd": "${workspaceFolder}/build-coverage"
},
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": [
"Create Build Coverage Directory"
],
"detail": "Configures CMake."
},
{
"type": "shell",
"label": "Build Debug",
"command": "/usr/bin/cmake",
"args": [
"--build",
"${workspaceFolder}/build-debug"
],
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": [
"CMake Configure Debug"
],
"detail": "Debug build of all targets."
},
{
"type": "shell",
"label": "Build Coverage",
"command": "/usr/bin/cmake",
"args": [
"--build",
"${workspaceFolder}/build-coverage"
],
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": [
"CMake Configure Coverage"
],
"detail": "Debug build of all targets."
},
{
"type": "shell",
"label": "Run main Debug",
"command": "${workspaceFolder}/build-debug/src/main",
"dependsOn": [
"Build Debug"
],
"detail": "Runs the main in debug mode.",
"problemMatcher": []
}
]
}