diff options
Diffstat (limited to '.vscode')
| -rw-r--r-- | .vscode/extensions.json | 1 | ||||
| -rw-r--r-- | .vscode/launch.json | 8 | ||||
| -rw-r--r-- | .vscode/settings.json | 55 | ||||
| -rw-r--r-- | .vscode/tasks.json | 32 |
4 files changed, 63 insertions, 33 deletions
diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ea07f1b..fd40a4c 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -3,6 +3,7 @@ "basdp.language-gas-x86", "gruntfuggly.todo-tree", "llvm-vs-code-extensions.vscode-clangd", + "matepek.vscode-catch2-test-adapter", "ms-vscode.cmake-tools", "KylinIdeTeam.cppdebug", "zixuanwang.linkerscript" diff --git a/.vscode/launch.json b/.vscode/launch.json index 6478c96..90c7520 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -25,6 +25,14 @@ { "description": "Load symbols", "text": "-file-exec-and-symbols ${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.sym" + }, + { + "description": "Load teachos python helpers", + "text": "source ${workspaceFolder}/scripts/gdb/teachos.py" + }, + { + "description": "Load toolchain python helpers", + "text": "source ${workspaceFolder}/scripts/gdb/toolchain.py" } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 08f9457..d62742c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,21 +1,29 @@ { "cmake.useCMakePresets": "always", "cmake.options.statusBarVisibility": "visible", - + "cmake.ctest.testExplorerIntegrationEnabled": false, + "cmake.copyCompileCommands": "${workspaceFolder}/build/compile_commands.json", "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", - "--query-driver=**/x86_64-pc-elf-g++" + "--query-driver=**/x86_64-pc-elf-g++", + "--completion-style=detailed", + "--background-index", + "--clang-tidy", + "--header-insertion=iwyu" ], - + "explorer.fileNesting.enabled": true, + "explorer.fileNesting.expand": false, + "explorer.fileNesting.patterns": { + "*.hpp": "${capture}.cpp, ${capture}.test.cpp, ${capture}.S", + "*": "${capture}.cpp, ${capture}.test.cpp, ${capture}.S" + }, "files.associations": { - "**/kstd/include/kstd/**": "cpp", + "**/kstd/kstd/**": "cpp", }, - "[cpp]": { "editor.formatOnSave": true, "editor.tabSize": 2, }, - "[gas]": { "editor.rulers": [ 80 @@ -23,12 +31,16 @@ }, "cSpell.words": [ "acpi", + "APIC", "bugprone", "cppcoreguidelines", "crtc", "crtp", "efer", + "FACS", "functors", + "hhdm", + "idtr", "initializable", "interprocedural", "invlpg", @@ -36,9 +48,12 @@ "iwyu", "kapi", "kstd", + "lapic", + "madt", "malloc", "memcmp", "memset", + "mmio", "multiboot", "nodiscard", "nolintnextline", @@ -47,11 +62,35 @@ "raii", "rdmsr", "RSDP", + "rsdt", "rvalues", "stringview", "sysret", "teachos", "undelegated", - "wrmsr" - ] + "wrmsr", + "xsdp", + "xsdt" + ], + "testMate.cpp.debug.configTemplate": { + "type": "cppdbg", + "MIMode": "gdb", + "program": "${exec}", + "args": "${argsArray}", + "cwd": "${cwd}", + "env": "${envObject}", + "environment": "${envObjArray}", + "sourceFileMap": "${sourceFileMapObj}", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "description": "Load teachos python helpers", + "text": "source ${workspaceFolder}/scripts/gdb/teachos.py" + } + ], + }, }
\ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json index e07afd2..1aa53d9 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -6,21 +6,10 @@ "command": "${workspaceFolder}/scripts/qemu-wrapper.sh", "type": "shell", "args": [ - "-s", - "-m", - "32M", - "-machine", - "q35", - "-display", - "curses", - "-debugcon", - "file:${workspaceFolder}/qemu-debugcon-${command:cmake.buildType}.log", - "-no-reboot", - "-d", - "int,cpu_reset", - "-cdrom", + "${workspaceFolder}", + "${command:cmake.buildType}", "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.iso", - "2>${workspaceFolder}/qemu-stderr-${command:cmake.buildType}.log" + "1" ], "isBackground": true, "presentation": { @@ -45,20 +34,13 @@ }, { "label": "QEMU", - "command": "qemu-system-x86_64", + "command": "${workspaceFolder}/scripts/qemu-wrapper.sh", "type": "shell", "args": [ - "-m", - "32M", - "-machine", - "q35", - "-display", - "curses", - "-debugcon", - "file:${workspaceFolder}/qemu-debugcon-${command:cmake.buildType}.log", - "-cdrom", + "${workspaceFolder}", + "${command:cmake.buildType}", "${command:cmake.buildDirectory}/bin/${command:cmake.buildType}/kernel.iso", - "2>${workspaceFolder}/qemu-stderr-${command:cmake.buildType}.log" + "0" ], "isBackground": true, "presentation": { |
