diff --git a/circuits.code-workspace b/circuits.code-workspace index db824472..c06d35e8 100644 --- a/circuits.code-workspace +++ b/circuits.code-workspace @@ -14,19 +14,15 @@ // Enables CMake integration and configuration // for easier building "ms-vscode.cmake-tools", - // Provides a nice UI for listing all Google Test - // tests, including launching a debug session - // for a specific test directly. - // Also provides buttons alongside test definitions. - "matepek.vscode-catch2-test-adapter", + // 🚀 UPGRADE: The old 'catch2-test-adapter' is deprecated. + // 'C++ TestMate' is the modern, maintained version for Google Test/Catch2. + "matepek.vscode-testmate-cpp-test-adapter", // Integrates the `clangd` language server for // - code formatting (clang-format) // - static analysis (clang-tidy) // - hints, tooltips, and more. "llvm-vs-code-extensions.vscode-clangd", // Better syntax highlighting for C++. - // Make sure to select one of the themes suggested - // (e.g. "Dark+") "jeff-hykin.better-cpp-syntax", // Handle CMakeLists.txt editing "twxs.cmake", @@ -34,18 +30,15 @@ "vadimcn.vscode-lldb", // Generate nicer Doxygen comments "cschlosser.doxdocgen", - // Makes the CMake build output slightly - // prettier. + // Makes the CMake build output slightly prettier. "IBM.output-colorizer", "eamodio.gitlens", "esbenp.prettier-vscode" ], "unwantedRecommendations": [ // The following may have been installed - // and cause some confusion when running - // tests. - // The options provided by C++ TestMate - // should be good enough. + // and cause some confusion when running tests. + // The options provided by C++ TestMate are sufficient. "ms-vscode.cpptools-themes", "hbenl.vscode-test-explorer", "ms-vscode.test-adapter-converter", @@ -53,8 +46,8 @@ "ms-vscode.cpptools-extension-pack", // Used to enable GDB debugging // Most features are disabled in `settings.json` - // which confict with `clangd` - // Since we ignore GDB, we no longer need this extension + // which conflict with `clangd`. + // Since we ignore GDB, we no longer need this extension. "ms-vscode.cpptools" ] }, @@ -74,27 +67,25 @@ ] }, // Global settings which will apply to all subprojects. - // Each subproject may have their own `.vscode/settings.json` - // for configuring extensions which are specific to a certain project. - // Some settings can only be configured here. - // The following are just provided as example. "settings": { // - // Clangd. Note that this setting may be overridden by user settings - // to the default value "clangd". - // - "clangd.path": "clangd-15", + // Clangd + // 🛡️ SAFETY: Removed hardcoded "clangd-15". + // It is better to rely on the system's default "clangd" or let the user override it locally. + // If specific version 15 is strictly required, uncomment below, but be aware it breaks portability. + // "clangd.path": "clangd-15", + // // CMake // // Location of base CMakeLists file "cmake.sourceDirectory": "${workspaceFolder}/cpp/", "cmake.buildDirectory": "${workspaceFolder}/cpp/build", + // - // C/C++ (should be disabled) + // C/C++ (Microsoft Extension - Disabled) // - // Make sure all C++ IntelliSense features are disabled - // and don't interfere with clangd + // We explicitly disable MS IntelliSense to avoid conflicts with Clangd. "C_Cpp.intelliSenseEngine": "disabled", "C_Cpp.autocomplete": "disabled", "C_Cpp.codeAnalysis.clangTidy.codeAction.formatFixes": false, @@ -105,14 +96,15 @@ "C_Cpp.formatting": "disabled", "C_Cpp.vcpkg.enabled": false, "C_Cpp.default.includePath": ["cpp/barretenberg/cpp/src"], + // - // TestMate + // C++ TestMate (Modern Settings) // - // Ensures tests are run from the `build` directory - // which ensures SRS can be read + // Ensures tests are run from the `build` directory (essential for SRS reading) "testMate.cpp.test.workingDirectory": "${workspaceFolder}/cpp/build", // Filter all binaries that are not tests "testMate.cpp.test.executables": "${workspaceFolder}/cpp/build/bin/*{test,Test,TEST}*", + // // Other // @@ -138,9 +130,6 @@ } ] }, - // - // GTest adapter (not currently used) - // "[cpp]": { "editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd" }