Vscode运行C++程序修改代码运行不生效

2023-11-12

修改代码运行不生效

问题描述

以以下代码为例,具体问题就是每次修改代码之后运行发现都没有生效,比如第一次编译运行打印了“Hello”,我在添加新语句后运行程序发现修改并未生效,网上找解决方法大多是下面这种:

点击左下角设置标志图 -> 设置,出来了设置相关的东西,搜索 files.autoSave 第一种:把"files.autoSave":“off” 修改成 “files.autoSave”:"onFocusChange

#include<iostream>
using namespace std;
int main(){
    cout<<"Hello"<<endl;
}

我尝试这种方法并未起作用,最后经过查看官方文档等等对比C++环境的配置发现是在配置launch.json文件时点击add configuration时添加的配置少了下面句语句,在添加以后就成功了。
这里解释一下launch.json 文件的作用,launch.json文件是Vscode关于代码调试的配置文件,在这里面配置了gdb.exe调试程序的运行,下面是官方文档的一些信息:

其中program设置指定要调试的程序。stopAtEntry将值更改为true以使调试器main在您开始调试时停止该方法。另外preLaunchTask设置用于指定要在启动前执行的任务。确保它与tasks.json文件label设置一致

"preLaunchTask": "C/C++: g++.exe 生成活动文件",

下面是我的launch.json配置文件代码

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "preLaunchTask": "C/C++: g++.exe 生成活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\TDM-GCC-64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
        
    ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vscode运行C++程序修改代码运行不生效 的相关文章

随机推荐