我正要在Ubuntu上设置VSCode,我试图调试一个C++文件。然而,当我尝试使用Run>Add Configuration时,它只是直接打开launch.json
,而没有询问我安装的调试配置。自动创建的launch.json
看起来像这样:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": []
}
我已经安装了g++,运行g++ --version
可以得到:
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
我本以为VSCode会检测到已安装的g++工具包并向我推荐它。但这并没有发生。我如何才能重新获得调试工具包建议框?
1条答案
按热度按时间qojgxg4l1#
检查已安装的扩展:
请确保您在VSCode中安装了C开发所需的扩展。您应该至少安装了Microsoft的“C/C”扩展。您可以通过转到扩展视图(Ctrl+Shift+X)来检查和安装扩展。
配置任务:
在创建启动配置之前,您需要设置任务配置。为此,您需要创建一个tasks.json文件。您可以通过单击“终端”菜单并选择“配置任务”来完成此操作。选择“从模板创建tasks.json文件”并选择“其他”。
如果你已经这样做了,但它仍然不起作用,请仔细检查tasks.json文件是否正确设置。
手动添加配置:
如果自动配置不起作用,您可以手动将配置添加到launch.json文件中。C程序的示例配置:
{ "version": "0.2.0", "configurations": [ { "name": "C++ Debug", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/a.out", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build", "miDebuggerPath": "/usr/bin/gdb" } ] }
调整“program”字段以指向编译后的C可执行文件的正确位置。重新启动VSCode:
在对配置文件进行任何更改之后,最好重新启动VSCode以确保更改生效。
检查路由器路径:
在某些情况下,VSCode可能无法自动检测编译器路径。您可以通过在c_cpp_properties.json文件中添加“compilerPath”字段来手动指定它:
{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "compilerPath": "/usr/bin/g++", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 }
验证工作区文件夹:确保在VSCode中打开了C++文件所在的正确工作区文件夹。
检查更新:
确保VSCode和扩展都是最新的。