VS Code配置C++开发环境-命令面板中搜索不到C++配置

VS Code配置C++开发环境

背景:我在 window10 系统上按照 VS Code 官网配置 C++ 开发环境时,在命令面板中搜索不到 C++ 的 UI 配置选项,只得在 .vscode 目录下手动创建了 tasks.jsonlaunch.jsonc_cpp_properties.json 文件。下面介绍一下这三个配置文件的基本内容。

前置条件:

  1. 已经安装 MinGW 或者 MSYS2,并设置了系统的环境变量。
  2. 安装了 VS Code 以及 C++ 扩展

三个配置文件的内容

tasks.json

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
        "type": "shell",
        "label": "task g++",
        "command": "E:\\Program Files\\msys64\\ucrt64\\bin\\g++.exe",	/*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
        "args": [
            "-g",
            "${file}",
            "-o",
            "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "-I",
            "F:\\projects\\C++Projects\\hello",      /*修改成自己放c/c++项目的文件夹,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
            "-std=c++17"
        ],
        "options": {
            "cwd": "E:\\Program Files\\msys64\\ucrt64\\bin"	/*修改成自己bin目录,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
        },
        "problemMatcher":[
            "$gcc"
        ],
        "group": "build",
        
        }
    ]
}

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "E:\\Program Files\\msys64\\ucrt64\\bin\\gdb.exe",		/*修改成自己bin目录下的gdb.exe*/
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "task g++"
        }
    ]
}

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "E:\\Program Files\\msys64\\ucrt64\\bin\\g++.exe", /* 根据你的编译器路径设置*/
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "${default}"
        }
    ],
    "version": 4
}

上述三个配置文件中常用字段的作用

tasks.json

  • tasks:包含一个或多个任务的配置,任务的配置包含要执行的命令、参数和执行环境等。
  • type:指定任务的类型。shell 表示这个任务在 shell 环境中执行,类似于在命令行中运行命令。
  • label:任务的标签,用于标识任务。这是用户在命令面板中看到并选择要执行的任务名称。
  • command:定义要执行的命令。
  • args:定义传递给命令的参数。每个元素都是一个参数,按照顺序传递给命令执行。
    • -g:生成调试信息。
    • ${file}:当前打开文件的路径。
    • o:指定输出文件的路径和名称。
    • ${fileDirname}\\${fileBasenameNoExtension}.exe:使用与源文件同目录的路径和源文件的文件名生成可执行文件。
    • -I:指定额外的头文件搜索路径。
    • F:\\projects\\C++Projects\\hello:头文件的搜索路径
    • -std=c++17:使用 C++ 17 标准编译代码。
  • options:配置任务执行时的附加选项。
    • cwd:设置任务执行时的当前工作目录。这里设置为编译器所在目录,因此所有相对路径都会从这个目录开始解析。
    • problemMatcher:定义问题匹配器,用于解析命令输出中的错误和警告,并将其显示在 VS Code 的问题面板中。
      • $gcc:使用内置的 GCC 编译器的输出匹配规则,将编译器输出的错误和警告信息捕捉并显示在编辑器中。
  • group:将任务分配到一个任务组中。
    • build:表示该任务属于“构建”任务组,这意味着可以使用 Run Build Task 命令来运行。

launch.json

  • configurations:包含一个或多个调试配置项的数组。每个配置定义了如何调试特定类型的项目。
  • name:调试配置项的名称,用来标识和选择不同的调试配置。
  • type:调试的类型。
  • request:指定调试的请求类型。launch 表示启动并调试一个程序。另一种常见的类型是attach,用于附加到已经运行的进程中调试。
  • program:指定要调试的可执行文件的路径。
  • args:定义传递给程序的命令行参数。[] 表示没有参数。如果程序需要特定的输入参数,可以在这个数组中添加它们。
  • stopAtEntry:指定调试器是否在程序入口点暂停。如果设置为 true,程序启动后会在 main() 函数或等效入口点处暂停;如果为 false,程序将直接运行直到遇到断点。
  • cwd:指定调试时的当前工作目录。这里设置为工作区根目录,即 ${workspaceFolder}
  • environment:定义环境变量。
  • externalConsole:指定是否在外部控制台(如CMD或终端窗口)中运行程序。true 表示使用外部控制台,这样在调试时可看到完整的输入输出。
  • MIMode:指定调试器的 MI(Machine Interface)模式。gdb 表示使用 GDB 作为调试器。如果使用 LLDB,则应该设置为 lldb
  • miDebuggerPath:指定 MI 调试器的路径。这是调试过程中实际执行调试操作的程序。在此示例中,路径指向 GDB 的可执行文件。

c_cpp_properties.json

  • configurations:是一个数组,包含了针对不同平台或环境的配置。
  • name:配置的名称,用于区分不同的配置。
  • includePath:指定了 IntelliSense 搜索头文件的路径列表。这里的 ["${workspaceFolder}/**"] 表示在工作区文件夹下的所有子文件夹中搜索头文件。${workspaceFolder}表示当前工作区的根目录。
  • defines:定义了预处理器宏定义的列表,这些宏会在编译时传递给编译器。
  • compilerPath:定了编译器的路径,这个路径用于 IntelliSense 来识别代码和生成错误提示、自动补全等功能。
  • cStandard:指定 C 语言标准的版本。
  • cppStandard:指定 C++ 语言标准的版本。
  • intelliSenseMode:指定 IntelliSense 使用的编译器模式。用于告诉编译器 VS Code 应该模拟哪个编译器的行为来提供代码补全、错误检测等功能。${default} 表示使用系统检测到的默认模式。可选项一般有 gcc、clang、MSVC 编译器。
Visual Studio Code,简称VSCode,是由微软开发的一款轻量级且功能强大的源代码编辑器,它是为编写现代Web和云应用而生的,同时支持众多编程语言的语法高亮、调试、代码片段、嵌入式Git控制、语法错误检查以及智能代码补全(IntelliSense)等功能。 VSCode的用户界面(UI)设计简洁直观,主要包含以下几个部分: 1. 编辑区(Editor):这是代码编写的主要区域,支持多种语言的语法高亮,并可以打开多个编辑窗口。 2. 侧边栏(Sidebar):包括资源管理器(Explorer)、搜索(Search)、版本控制(Source Control)、运行和调试(Run and Debug)、扩展(Extensions)等视图。 3. 活动栏(Activity Bar):在左侧,通过它可以快速访问不同的侧边栏视图。 4. 菜单栏(Menu Bar):位于顶部,提供菜单选项,例如文件、编辑、查看、搜索、转到、运行、调试、集成终端等。 5. 状态栏(Status Bar):显示编辑器状态信息,如语言模式、光标位置、缩进信息、文件路径等,并提供快速操作。 6. 面包屑(Breadcrumbs):位于编辑区顶部,提供文件路径导航,方便用户了解当前位置。 7. 面板(Panels):位于底部,包括问题(Problems)、输出(Output)、终端(Terminal)等面板,用于显示各种输出信息或提供额外的用户交互区域。 VSCode还允许用户通过安装主题来自定义编辑器的颜色方案,以及其他UI相关设置,使得用户界面可以调整以适应个人喜好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值