news 2026/10/10 5:06:14

vscode中4个json的区别和联系

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vscode中4个json的区别和联系

在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. Forattach, 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 thetestgroup. Tasks that belong to the test group can be executed by runningRun Test Taskfrom theCommand 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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/10 5:04:54

STM32F411RE与PCA9422协同实现嵌入式低功耗电源管理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/10 5:04:35

PCA9422+PIC18F86J50实现完整电源管理:状态机、低功耗与故障排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/10 5:04:02

Agent技能系统实战:从零构建让大模型可落地的数字员工工具包

写一个通用型的“技能包”,让原本只会聊天的大模型,变成能干活、能查数、能操作外部系统的数字员工。这个方向业内叫Agent Skills,核心思路是:把复杂任务拆成一个个可命名、可描述、可调用的最小操作单元,模型根据任务…

作者头像 李华
网站建设 2026/10/10 5:03:56

O2O优惠券核销预测:XGBoost建模与特征工程实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/10 5:03:56

URL批量归一化工具:后缀截断+语义归并的工业级清洗方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/10 5:03:46

百万 TPS 突发堆积紧急消费降级:跳板 Topic 拆分与多消费者水平铺开

在双 11 零点秒杀钟声敲响的刹那,消息中间件 Kafka 承受着整个商业帝国最猛烈的脉冲冲击。即使前期做了充足的容量推演,现实中依然可能因为突发的营销玩法叠加、或者下游某个第三方供应商接口异常,导致核心交易 Topic 的消息堆积(…

作者头像 李华