如何更改VS Code中使用的 C++ 标准的版本?

k4ymrczo  于 2024-01-09  发布在  其他
关注(0)|答案(3)|浏览(188)

我打印了__cplusplus宏的值,发现我的文件在Visual Studio Code中用C98执行。我使用的是CodeRunner扩展。
如何将其更改为C
17?

6xfqseft

6xfqseft1#

转到扩展名,然后在搜索栏中键入ms-vscode.cpptools
点击C/C++扩展,在Uninstall的右边,应该有一个齿轮图标。点击它。
此时应打开一个“配置文件”菜单。选择Extension Settings
现在点击搜索栏(有时它会让你点击两次,然后你就可以输入而不替换扩展名过滤器),然后输入cppStandard
从这里,您应该看到两个选项,一个用于Cpp标准,一个用于C标准。
把Cpp标准版改成你想要的版本。我一般用c++17。


的数据

u5rb5r59

u5rb5r592#

另外,请确保调试器使用相同的版本。在task.json中,--std之后的行定义了版本。

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "C:\\msys64\\mingw64\\bin\\g++.exe",
            "args": [
                "--std",
                "c++20",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

字符串

cetgtptt

cetgtptt3#

如果您使用的the cpptools extension不支持CMake,请使用C_Cpp.default.cppStandard设置或c_cpp_properties.json中特定配置的相应属性。请注意,这仅适用于智能感知,不会影响实际构建所使用的语言标准。
如果您使用的是the CMake Tools extension"configurationProvider": "ms-vscode.cmake-tools")的CMake支持,请以最适合您项目的方式调整CMake配置(例如target_compile_featuresCMAKE_CXX_STANDARD)。
另外,如果你使用构建任务来进行编译(对于没有CMake Tools设置的cpptools,IntelliSense和构建配置是分开的),请确保添加相应的编译标志以使用该C++标准(另请参阅this post of mine)。
如果你使用的是the clangd extension,它会从一个编译命令数据库(compile_commands.json文件)中删除,你可以使用CMAKE_EXPORT_COMPILE_COMMANDS从CMake中自动获取(另请参阅this post of mine)。
如果你正在使用VS Code的Code Runner扩展(我不推荐这样做),请参阅How can I change the C++ standard used by the Code Runner extension for VS Code?(编辑workspace. vscode/settings.json的code-runner.executorMap设置)。

相关问题