vscode中4个json的区别和联系

news2025/1/19 23:04:29

在vscode中快捷键ctrl+shift+p,然后输入setting,会出现下图几个选项

在这里插入图片描述

当不同设置之间出现冲突时,听谁的:

Open Workspace Settings(JSON) > Open Settings(JSON) = Open User Settings > Open Default Settings(JSON)

Open Workspace Settings(JSON):

点击该选项,会在当前工程目录下新建一个.vscode目录,在.vscode目录下,会多出一个settings.json文件,默认为空。

在这个settings.json文件中,可以写一些设置选项,这些设置选项仅仅对当前工程目录下的文件起作用.

c_cpp_properties.json


此文件用于配置VS Code的C/C++扩展,提供正确的IntelliSense(代码完成、提示等)。

官网链接:https://code.visualstudio.com/docs/cpp/c-cpp-properties-schema-reference

在这里插入图片描述

模板为:

{
  "env": { //定义了一组环境变量,这些变量稍后在配置中可以引用
    "myDefaultIncludePath": ["${workspaceFolder}", "${workspaceFolder}/include"],//表示默认的头文件搜索路径
    "myCompilerPath": "/usr/local/bin/gcc-7" //定义了一个编译器的路径
  },
  "configurations": [
    {
      "name": "Mac", //mac,linux,win32/描述了这个配置的目的或使用的环境
      "intelliSenseMode": "clang-x64",
      "includePath": ["${myDefaultIncludePath}", "/another/path"],//包含头文件搜索路径的数组。它引用了前面定义的环境变量myDefaultIncludePath并添加了另一个路径/another/path
      "macFrameworkPath": ["/System/Library/Frameworks"],
      "defines": ["FOO", "BAR=100"],
      "forcedInclude": ["${workspaceFolder}/include/config.h"],
      "compilerPath": "/usr/bin/clang", //用于构建项目的编译器的完整路径
      "cStandard": "c11",
      "cppStandard": "c++17",
      "compileCommands": "/path/to/compile_commands.json",//指向一个compile_commands.json文件的路径,它提供了关于如何编译工程中各个文件的信息
      "browse": {
        "path": ["${workspaceFolder}"],
        "limitSymbolsToIncludedHeaders": true,
        "databaseFilename": ""
      }
    }
  ],
  "version": 4
}

launch.json


官网链接:https://code.visualstudio.com/docs/cpp/launch-json-reference

launch.json 文件用于在 Visual Studio Code 中配置调试器。要开始调试,您需要在program字段中填写您计划调试的可执行文件的路径。This must be specified for both the launch and attach (if you plan to attach to a running instance at any point) configurations.

生成的文件包含两部分,第一部分配置launch调试,第二部分配置attach调试

点击DEBUG->创建lauch.json

配置vscode调试行为

Set or change the following options to control VS Code’s behavior during debugging:

  • 例子

    {
      "name": "C++ Launch (Windows)",
      "type": "cppvsdbg",
      "request": "launch",
      "program": "C:\\app1\\Debug\\app1.exe",
      "symbolSearchPath": "C:\\Symbols;C:\\SymbolDir2",
      "externalConsole": true,
      "logging": {
        "moduleLoad": false,
        "trace": true
      },
      "visualizerFile": "${workspaceFolder}/my.natvis",
      "showDisplayString": true
    }
    
  • program (required)

    指定调试器将启动或附加的可执行文件的完整路径。调试器需要该位置才能加载调试符号。

  • symbolSearchPath

    告诉 Visual Studio Windows 调试器搜索symbol(.pdb) 文件的路径。用分号分隔多个路径。例如"C:\Symbols;C:\SymbolDir2"。

  • requireExactSource

  • additionalSOLibSearchPath

    Tells GDB or LLDB what paths to search for .so files. Separate multiple paths with a semicolon. For example: "/Users/user/dir1;/Users/user/dir2".

  • externalConsole

    Used only when launching the debuggee. For attach, this parameter does not change the debuggee’s behavior.

    • Linux: set to true,通知 VS Code 生成外部控制台;set to false,使用vscode终端
  • avoidWindowsConsoleRedirection

  • logging

    可选标记,用于确定哪些类型的信息应记录到调试控制台。

    • exceptions:可选标志,用于确定是否将异常信息记录到调试控制台。默认为 true。
    • moduleLoad(模块加载可选标记,用于确定是否将模块加载事件记录到调试控制台。默认为 true。
    • programOutput(程序输出):可选标志,用于确定是否将程序输出记录到调试控制台。默认为 true。
    • engineLogging(引擎记录):可选标记,用于确定是否将诊断引擎日志记录到调试控制台。默认为 false。
    • trace(跟踪):可选标记,用于确定是否将诊断适配器命令跟踪记录到调试控制台。默认为 false。
    • traceResponse:跟踪响应:可选标记,用于确定是否将诊断适配器命令和响应跟踪记录到调试控制台。默认为假。

自定义GDB或LLDB

https://blog.csdn.net/weixin_40579705/article/details/133788557?spm=1001.2014.3001.5501

存在远程debug容器中的

tasks.json


官网链接:https://code.visualstudio.com/Docs/editor/tasks

此文件定义了在VS Code中执行的任务。这些任务可以是编译、构建、运行脚本等。

ctrl+shift+p->task->使用模板创建tasks.json文件->others 运行任何外部命令的先例

在这里插入图片描述

以下为自定义task

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Run tests",
      "type": "shell",
      "command": "./scripts/test.sh",
      "windows": {
        "command": ".\\scripts\\test.cmd"
      },
      "group": "test",
      "presentation": {
        "reveal": "always",
        "panel": "new"
      }
    }
  ]
}
  • label

    用户界面中使用的任务标签

  • type

    任务类型。对于自定义任务,可以是 shell 或进程。如果指定 shell,命令将被解释为 shell 命令(例如:bash、cmd 或 PowerShell)。如果指定 process,命令将被解释为一个要执行的进程。

  • command

    要执行的实际命令。

  • group

    Defines to which group the task belongs. In the example, it belongs to the test group. Tasks that belong to the test group can be executed by running Run Test Task from the Command Palette.presentation

  • options

    覆盖 cwd(当前工作目录)、env(环境变量)或 shell(默认 shell)的默认值。选项可按任务设置,也可全局或按平台设置。此处配置的环境变量只能在任务脚本或进程中引用,如果它们是 args、命令或其他任务属性的一部分,则不会被解析。

  • runOptions

    Defines when and how a task is run

示例:使用g++编译c++程序

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "g++ build active file",
            "type": "shell",
            "command": "/usr/bin/g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

setting.json


官网链接:https://code.visualstudio.com/docs/getstarted/settings

可以根据自己的喜好通过各种配置来配置vscode。几乎vscode的编辑器,用户界面和功能行为的每个部分都有可以修改的地方

不同的设置范围:

  • 用户设置:全局应用到你打开的任何vscode实例的设置
  • 工作区设置:存储在工作区内部的设置,仅在工作区打开时应用

https://blog.csdn.net/weixin_40579705/article/details/131492235?spm=1001.2014.3001.5501

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1107139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

openstack 云主机 linux报 login incorrect

还未输入密码就提示login incorrect 不给输密码位置 完全不给输密码的机会 关机进入单用户 检查登录安全记录 vi /var/log/secure 发现 /usr/lib64/security/pam_unix.so 报错 将正常的机器提取/usr/lib64/security/pam_unix.so 比对MD5一致, 另外判断 libtir…

车载开发学习——CAN总线

CAN总线又称为汽车总线,全程为“控制器局域网(Controller Area Network)”,即区域网络控制器,它将区域内的单一控制单元以某种形式连接在一起,形成一个系统。在这个系统内,大家以一种大家都认可…

市值缩水90%以上,泛生子何以败退美股?

癌症是人类面临的最大健康威胁之一,也是医学界最难攻克的难题之一。随着科技的发展,癌症精准医疗逐渐成为治疗癌症的新方向,癌症精准医疗能通过对癌细胞的基因检测和分析,为患者提供个性化的治疗方案。然而,这一领域的…

redis(其它操作、管道)、django中使用redis(通用方案、 第三方模块)、django缓存、celery介绍(celery的快速使用)

1 redis其它操作 2 redis管道 3 django中使用redis 3.1 通用方案 3.2 第三方模块 4 django缓存 5 celery介绍 5.1 celery的快速使用 1 redis其它操作 delete(*names) exists(name) keys(pattern*) expire(name ,time) rename(src, dst) move(name, db)) randomkey() type(na…

VBA技术资料MF71:查找所有空格并替换为固定字符

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

实现实时美颜:主播直播美颜SDK的技术细节

在今天的数字时代,直播和实时互动成为了日常生活的一部分,而主播直播美颜SDK的出现为用户提供了更加精美的视觉体验。这项技术的背后有着复杂的技术细节,从图像处理到机器学习,本文将深入探讨主播直播美颜SDK的技术细节&#xff0…

四边形不等式

区间dp问题&#xff0c;状态转移方程&#xff1a; dp[i][j] min( dp[i][k] dp[k1][j] w[i][j] ) //w[i][j]是从i到j的&#xff0c;一个定值 不随k改变&#xff0c;而且w的值只和i j有关&#xff0c;是它们的二元函数。 其中i<k<j ,初始值dp[i][i]已知。 含义&#x…

第三类医疗器械经营许可证经营范围

在我国&#xff0c;医疗器械监督管理条例规定:医械经营企业要依据主营产品办理相应许可证。医疗器械根据其风险性又分为三类&#xff0c;一类医疗器械实行产品备案管理&#xff0c;第二类、第三类医疗器械实行产品注册管理&#xff0c;经营第二类、第三类医疗器械应当持有《医疗…

Day 2 Qt

#include "my_widget.h" #include "ui_my_widget.h"My_Widget::My_Widget(QWidget *parent): QWidget(parent), ui(new Ui::My_Widget) {ui->setupUi(this);//窗口的相关设置 // this -> resize(800,500);this -> setWindowTitle("QQ聊天…

APP备案公钥、证书MD5指纹/签名MD5值获取方法

本文只详细讲解android app获取方法&#xff0c;三种方式&#xff1a; 1. 你的应用已安装到手机&#xff0c;android应用市场搜索下载安装 APP备案助手&#xff0c;此app可直接获取所有已安装app的公钥、证书MD5指纹/签名MD5值&#xff0c;示例&#xff1a;获取 抖音app公钥、…

每日一练 | 华为认证真题练习Day120

1、MPLS域中的LER全称为Label Egress Router。 A. 对 B. 错 2、如果一个以太网数据帧的Type/Length字段的值为0x0800&#xff0c;则此数据帧所承载的上层报文首部长度范围为20-60B。 A. 对 B. 错 3、在VRP平台上&#xff0c;可以通过下面哪种方式访问上一条历史命令&#x…

AI爆文变现-写作项目-脚本配置教程-解放双手

之前给大家分享过AI爆文的写作教程&#xff0c;没看过的可以看下对应的教程&#xff1a; AI爆文撸流量主保姆级教程2.0 因为是怼量&#xff0c;为了高效完成文章&#xff0c;我用python脚本实现了自动写文章的功能&#xff0c;发布文章目前还是要手动进行。 AI爆文教程参考&…

C++11——包装器与lambda表达式

目录 一.背景 二.lambda 1.见一见lambda 2.lambda表达式语法 3.lambda捕捉列表说明 三.函数对象与lambda表达式 四.包装器 1.function包装器 2.包装类的成员函数 五.bind 1.调整参数位置 2.减少函数参数 一.背景 在C98中&#xff0c;如果想要对一个数据集合中的元素…

c++_learning-模板元编程

模板元编程 元编程&#xff1a;元函数&#xff1a;定义&#xff1a;数值元函数&#xff1a;编译期间&#xff0c;能够被调用的类模板&#xff1a;constexpr修饰的函数&#xff1a;constexpr修饰的变量模板&#xff1a; 类型元函数&#xff1a;元函数总结&#xff1a; 混合元编程…

C++基础——内存分区模型

1 概述 C程序在执行是&#xff0c;将内存大致分为4个区域&#xff1a; 代码区&#xff1a;用于存放二进制代码&#xff0c;由操作系统进行管理全局区&#xff1a;存放全局变量和静态变量及常量栈区&#xff1a;由编译器自动分配释放&#xff0c;存放函数的参数、局部变量等堆…

电脑版便签软件下载用哪个?

在面对每天繁忙的工作日程&#xff0c;电脑是许多上班族不可或缺的工作助手&#xff0c;而一款得心应手的电脑便签软件&#xff0c;更是可以帮助大家记录、提醒、督促各项任务按时完成的得力助手。那么&#xff0c;究竟在众多的电脑便签软。件中&#xff0c;哪一位能够真正成为…

你真的理解“感受野”了吗?

大家好啊&#xff0c;我是董董灿。 在卷积神经网络中&#xff0c;有一个非常重要且绕不开的概念叫做卷积的“感受野”。 我刚开始学习卷积的时候&#xff0c;仅仅把“感受野”理解为感受视野&#xff0c;没错就是文字上的理解。 但随着后来工作的深入&#xff0c;慢慢发现感…

pytorch的安装【全官网流程】

1.准备python环境 python环境需要看pytorch上说明的版本本文用的是python3.9 conda create -n pytorch39 python3.92.安装pytorch【要使用GPU的先安装步骤3的CUDA在安装这个】 pytorch官方地址 &#xff08;1&#xff09;官方指出了python版本&#xff1a; &#xff08;2…

微信私域怎么高效转化?看看这款系统!

在今天的数字化时代&#xff0c;私域流量已经成为企业与个人创业者获取竞争优势的重要手段。而微信作为中国最大的社交平台之一&#xff0c;其私域流量的价值不言而喻。那么&#xff0c;如何才能轻松玩转微信私域流量呢&#xff1f;接下来&#xff0c;我们将为你介绍一款强大的…

设计模式:抽象工厂模式(C#、JAVA、JavaScript、C++、Python、Go、PHP)

大家好&#xff01;本节主要介绍设计模式中的抽象工厂模式。 简介&#xff1a; 抽象工厂模式&#xff0c;它是所有形态的工厂模式中最为抽象和最具一般性的一种形态。它用于处理当有多个抽象角色时的情况。抽象工厂模式可以向客户端提供一个接口&#xff0c;使客户端在不必指…