{ // SPDX-FileCopyrightText: Matteo Settenvini // SPDX-License-Identifier: CC0-1.0 // // ----- Folders ------- // "folders": [ { "name": "Workspace Root", "path": "." } ], // // ----- Extensions ------- // "extensions": { "recommendations": [ "elagil.pre-commit-helper", "fabiospampinato.vscode-todo-plus", "fill-labs.dependi", "ms-vscode.cmake-tools", "rust-lang.rust-analyzer", "tamasfe.even-better-toml", "vadimcn.vscode-lldb", "zaaack.markdown-editor", ] }, // // ----- Settings --------- // "settings": { // // Global settings for all languages: // "debug.allowBreakpointsEverywhere": true, "editor.formatOnSave": true, "editor.insertSpaces": true, "editor.tabSize": 4, "files.insertFinalNewline": true, "files.trimFinalNewlines": true, "files.trimTrailingWhitespace": true, "terminal.integrated.allowChords": false, // make ^K, ^Y, ^R, etc. work in terminal "terminal.integrated.scrollback": 250000, "workbench.tree.enableStickyScroll": true, // // Specific languages: // "[cmake]": { "editor.tabSize": 2, }, "[markdown]": { "editor.wordWrapColumn": 100, "editor.wordWrap": "on", }, // // ---- Extensions ---- // // CMake Tools: "cmake.autoSelectActiveFolder": false, "cmake.ignoreCMakeListsMissing": true, "cmake.useCMakePresets": "always", "cmake.preferredGenerators": [ "Ninja" ], "cmake.buildDirectory": "${cmake.activeFolderPath}/build/cmake", // // Rust analyzer: "rust-analyzer.cargo.targetDir": "build/rust-analyzer", "rust-analyzer.testExplorer": true, }, // // ----- Tasks ------------ "tasks": { "version": "2.0.0", "tasks": [ // ------------- Build targets: { "label": "[build] cmake: active project", "type": "process", "group": { "kind": "build", "isDefault": true, }, // The VS Code manual seems to say that // "command" without "args" won't escape // command line parameters, but this doesn't // seem to work, hence the wrapping with 'sh'. "command": "sh", "args": [ "-c", "${command:cmake.tasksBuildCommand}" ], "options": { "cwd": "${command:cmake.activeFolderPath}" }, "problemMatcher": { "owner": "cpp", "fileLocation": [ "absolute" ], "source": "gcc", "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } }, }, ] } }