首页 > 编程语言 >C++在vscode中的code runner配置/环境配置

C++在vscode中的code runner配置/环境配置

时间:2024-10-14 18:48:30浏览次数:3  
标签:code launch vscode 配置 C++ json 文件夹 path

C++在vscode中快捷运行(code runner)

一、配置tasks.json

  1. 在vscode中创建文件夹或打开文件夹,会发现文件夹下多了一个.vscode文件夹,在该文件夹下创建tasks.json文件,并添加一下内容
{
  "version": "2.0.0",
  "tasks": [
      {
          "type": "shell",
          "label": "g++ build active file",
          "command": "path",
          "args": [
              "-g",
              "-std=c++11",
              "${fileDirname}\\*.cpp",
              "-o",
              "${fileDirname}\\${fileBasenameNoExtension}.exe"
          ],
          "options": {
              "cwd": "${fileDirname}"
          },
          "problemMatcher": [
              "$gcc"
          ],
          "group": {
              "kind": "build",
              "isDefault": true
          },
      }
  ]
}
  • 注意"command": "path"要填写本地路径

  • 可以打开win + R,打开cmd,输入where g++.exe

  • 复制出现的内容,替换"command": "path"中的path,注意把反斜杠改为\\或者/。

  1. 运行

    在这里插入图片描述

二、配置code runner的配置

  1. 打开 VS Code 的设置(File > Preferences > Settings)

  2. 搜索 “Code Runner: Executor Map”

  3. 点击 “Edit in settings.json”

  4. 在 settings.json 文件中,找到该行并添加或修改 C++ 的执行命令:

    在这里插入图片描述

    "cpp": "cd $dir && <path> *.cpp -o $fileNameWithoutExt && $dir$fileNameWithoutExt",注意path替换为与第一步配置tasks.json相同的路径,填写的时候注意把<>删除

三、配置launch.json

  1. 同样在.vscode文件夹下创建launch.json并输入

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${fileDirname}",
                "environment": [],
                "externalConsole": false,
                "MIMode": "gdb",
                "miDebuggerPath": "path",
                "setupCommands": [
                    {
                        "description": "为 gdb 启用整齐打印",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "g++ build active file"
            }
        ]
    }
    
    

    "miDebuggerPath": "path"替换为自己的路径,方法与方法一找g++一样,只不过是把g++换成gdb

  2. 开始debug

    在这里插入图片描述

  3. 选择

    在这里插入图片描述

配置解答

  1. tasks.json 文件用于定义你在项目中可以运行的任务。它可以用来构建、清理项目,或者运行其他的自动化任务,比如运行编译器、启动脚本等。launch.json 文件用于配置调试器的启动选项。你可以定义如何运行和调试你的程序,包括指定调试目标、调试器配置等。

  2. vscode配置C++文件的debug需要单独设置launch.json,因为我设置的是只作用于当前项目所以步骤三的第三步要选择(gdb)lauch,如果大家想设置vscode全局的,在这里选择创建launch.json即可

    在这里插入图片描述

  3. 这里配置只作用与当前项目中,其它项目中是失效的,这样起到了项目与项目之间隔绝,我认为类似于python中的虚拟环境,但还是有些许差别(诸如依赖方面)。

  4. 注意不要使用gcc,使用g++

  5. 记得修改code runner,code runner默认cpp配置在运行文件引用另一个文件会出问题,就比如课上的例子。

  6. 这种方法跨平台性较差,换一个编译器就不行了,如果有时间可以学习使用cmake。

标签:code,launch,vscode,配置,C++,json,文件夹,path
From: https://blog.csdn.net/2403_86942375/article/details/142926114

相关文章

  • C++异步调用 future async promise packaged_task
    背景:C++异步调用是现代C++编程中的一种重要技术,它允许程序在等待某个任务完成时继续执行其他代码,从而提高程序的效率和响应性。C++11引入了std::async、std::future和std::promise等工具,使得异步编程变得更加方便和直观。以下是关于C++异步调用的详细介绍,包括基本概......
  • 实验1 现代C++编程初体验
    任务11//现代C++标准库、算法库体验2//本例用到以下内容:3//1.字符串string,动态数组容器类vector、迭代器4//2.算法库:反转元素次序、旋转元素5//3.函数模板、const引用作为形参67#include<iostream>8#include<string>9#include......
  • 闯关leetcode——94. Binary Tree Inorder Traversal
    大纲题目地址内容解题代码地址题目地址https://leetcode.com/problems/binary-tree-inorder-traversal/description/内容Giventherootofabinarytree,returntheinordertraversalofitsnodes’values.Example1:Input:root=[1,null,2,3]Outpu......
  • 闯关leetcode——100. Same Tree
    大纲题目地址内容解题代码地址题目地址https://leetcode.com/problems/same-tree/description/内容Giventherootsoftwobinarytreespandq,writeafunctiontocheckiftheyarethesameornot.Twobinarytreesareconsideredthesameifthey......
  • 实验1 C++
    task1:1#include<iostream>2#include<string>3#include<vector>4#include<algorithm>56usingnamespacestd;78//声明9//模板函数声明10template<typenameT>11voidoutput(constT&c);1213//普通函数声明......
  • 【最新原创毕设】基于SpringCloud的一站式热点推荐平台+23649(免费领源码)可做计算机毕
    目 录摘要1绪论1.1选题背景与意义1.2开发现状1.3论文结构与章节安排2 开发环境及相关技术介绍2.1MySQL数据库2.2 Tomcat服务器2.3 Java语言2.4 SpringCloud框架介绍3 一站式热点推荐平台系统分析3.1可行性分析3.1.1技术可行性分析3.1......
  • (2024最新毕设合集)基于SpringBoot的通江银耳销售管理系统-15998|可做计算机毕业设计JAV
    摘要随着人们健康意识的增强,银耳这种传统的中药食材备受关注。而通江银耳是四川省通江县特产,中国国家地理标志产品。四川省通江县是银耳的发源地,中国银耳之乡,通江银耳因主产于此而得名,以其独到的质厚、肉嫩、易炖化和非常高的营养价值及药用价值而享誉海内外。需要一个高效便......
  • 实验1现代c++编程初体验
    1.实验任务一task1.cpp//现代C++标准库、算法库体验//本例用到以下内容://1.字符串string,动态数组容器类vector、迭代器//2.算法库:反转元素次序、旋转元素//3.函数模板、const引用作为形参#include<iostream>#include<string>#include<vector>#include<......
  • 实验4-2-3-for 验证“哥德巴赫猜想C++解法
    #include<iostream>#include<cmath>boolvia(longlongi);usingnamespacestd;intmain(){  longlongn=0,i=3,p=0,q=0,a=0,b=0;  cin>>n;  if(n>4)  {    for(i=3;i<n/2;i+=2)    {......
  • 螺旋方阵C++解法
    #include<iostream>#include<vector>usingnamespacestd;#include<iomanip>intn;intmain(){   cin>>n;   vector<vector<int>>arr(n,vector<int>(n,0));   intx=0,y=0,s=1;   while(s<=n*......