C++ (11)VSCode运行C和C++代码

VSCode配置

VSCode下载

Visual Studio Code - Code Editing. Redefined


扩展下载

VSCode中下载

C/C++ Extension Pack

Code Runner

Chinese(Simplified)简体


Mingw64下载

官网

MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64 at SourceForge.net

离线版本

Download x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0.7z (MinGW-w64 - for 32 and 64 bit Windows)

下载后解压,并添加环境变量

系统变量——>添加——>xxx/mingw64/bin

cmd——>执行gcc -v

  • GNU工具链(一套开源的编译器、汇编器和链接器等工具,它们可以用于跨平台的C/C++等语言的编译和链接。其中包括了GNU C Compiler (GCC)、GNU Binutils等工具)
  • GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C等语言。
  • gcc是GCC中的GUN C Compiler(C 编译器)
  • g++是GCC中的GUN C++ Compiler(C++编译器)

VSCode文件配置

设置文件夹

对于运行.c代码

.vscode文件夹下

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            // "program": "输入程序名称,例如 ${workspaceFolder}/a.exe",
            "program": "${fileDirname}\\{自己定义的exe文件名称}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            // "miDebuggerPath": "/path/to/gdb",
            "miDebuggerPath": "{指定文件夹中的gdb.exe文件路径}\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }


    ]
}

tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 生成活动文件",
            "command": "{指定文件夹中的gcc.exe文件路径}\\mingw64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                // "${file}",
                "*.c",
                "-o",
                // "${fileDirname}\\${fileBasenameNoExtension}.exe"
                "${fileDirname}\\{自定义exe文件名}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

对于运行C++代码

.vscode

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++: g++.exe build and debug active file", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",  // 配置类型,这里只能为cppdbg
            "request": "launch",  // 请求配置类型,可以为launch(启动)或attach(附加)
            // "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "program": "${fileDirname}\\{自定义exe文件名}.exe",  // 将要进行调试的程序的路径
            "args": [],  // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false,  // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${fileDirname}",  // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "environment": [],
            "externalConsole": false,  // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "MIMode": "gdb",
            // "miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe",
            "miDebuggerPath": "{指定gdb.exe路径}\\mingw64\\bin\\gdb.exe",  // miDebugger的路径,注意这里要与MinGw的路径对应
            "setupCommands": [
              {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
              },
              {
                "description": "Set Disassembly Flavor to Intel",
                "text": "-gdb-set disassembly-flavor intel",
                "ignoreFailures": true
              }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"   // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
        }
    ]
}

settings.json

{
    "files.defaultLanguage": "c", // ctrl+N新建文件后默认的语言
    "editor.formatOnType": true,  // 输入分号(C/C++的语句结束标识)后自动格式化当前这一行的代码
    "editor.suggest.snippetsPreventQuickSuggestions": false, // clangd的snippets有很多的跳转点,不用这个就必须手动触发Intellisense了
    "editor.acceptSuggestionOnEnter": "off", // 我个人的习惯,按回车时一定是真正的换行,只有tab才会接受Intellisense
    // "editor.snippetSuggestions": "top", // (可选)snippets显示在补全列表顶端,默认是inline

    "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入
    "code-runner.executorMap": {
        "c": "gcc '$fileName' -o '$fileNameWithoutExt.exe' -Wall -O2 -m64 -lm -static-libgcc -fexec-charset=GBK -D__USE_MINGW_ANSI_STDIO && &'./$fileNameWithoutExt.exe'",
        "cpp": "g++ '$fileName' -o '$fileNameWithoutExt.exe' -Wall -O2 -m64 -static-libgcc -fexec-charset=GBK && &'./$fileNameWithoutExt.exe'"
        // "c": "gcc $fileName -o $fileNameWithoutExt.exe -Wall -O2 -m64 -lm -static-libgcc -fexec-charset=GBK -D__USE_MINGW_ANSI_STDIO && $dir$fileNameWithoutExt.exe",
        // "cpp": "g++ $fileName -o $fileNameWithoutExt.exe -Wall -O2 -m64 -static-libgcc -fexec-charset=GBK && $dir$fileNameWithoutExt.exe"
    }, // 右键run code时运行的命令;未注释的仅适用于PowerShell(Win10默认)和pwsh,文件名中有空格也可以编译运行;注释掉的适用于cmd(win7默认)、PS和bash,但文件名中有空格时无法运行
    "code-runner.saveFileBeforeRun": true, // run code前保存
    "code-runner.preserveFocus": true,     // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false
    "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息,默认false
    "code-runner.ignoreSelection": true,   // 默认为false,效果是鼠标选中一块代码后可以单独执行,但C是编译型语言,不适合这样用
    "code-runner.fileDirectoryAsCwd": true, // 将code runner终端的工作目录切换到文件目录再运行,对依赖cwd的程序产生影响;如果为false,executorMap要加cd $dir

    "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
}

tasks.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: gcc.exe 生成活动文件",
            "command": "{指定gcc.exe路径}\\mingw64\\bin\\gcc.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "*.c",
                "-o",
                "${fileDirname}\\{自定义exe文件名}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "调试器生成的任务。"
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "{指定gcc.exe路径}\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

VSCode其他设置

在vscode的集成终端上,并不会额外弹出一个外部窗口

文件>首选项>设置>用户>拓展>Run Code Configuration


C/C++ Compile Run 设置

编译运行C/C++也可以选择C/C++ Compile Run插件,按f6一键运行

C/C++ Compile Run插件在勾选上:文件>首选项>设置>扩展>Compile Run Configuration的Run-in-external-terminal


运行

在工作区——开始调试Debug——C++(GDB/LLDB)——C/C++:g++.exe 生成和调试活动文件c c++

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在VS Code运行C代码时出现错误可能有多种原因。根据引用中提供的信息,您的问题可能是由于环境配置错误导致的。 首先,您可以确认您的VS Code和C/C++插件的版本是否与您的操作系统兼容。确保您正在使用最新版本的VS Code和C/C++插件,并且它们与您的操作系统兼容。 其次,根据引用中提到的方法,您可以尝试更改VS Code项目总目录下的`.vscode/task.json`文件中的`"command": "D:\\download\\MinGW-w64\\mingw64\\bin\\gcc.exe"`为`"command": "D:\\download\\MinGW-w64\\mingw64\\bin\\g .exe"`。这将确保您的编译器路径正确配置。 另外,您还可以确保您的C代码没有语法错误。请仔细检查您的代码并确保语法正确。 最后,您可以尝试重新安装MinGW-w64编译器,以确保您的编译器完全安装并且与VS Code兼容。 通过以上方法,您可以尝试解决VS Code无法运行C代码的问题。如果问题仍然存在,请提供更多详细的错误信息,以便我可以提供更具体的帮助。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* *2* [VScode运行C++语言报错](https://blog.csdn.net/qq_53499578/article/details/126793167)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值