VSCode中C/C++配置文件解读(未完)

0. 官方链接YYDS

提前说一下我所在的环境,是ubuntu 20.04,1.68.1的vscode,用于C和C++环境的配置,本文内容不是如何配置文件,而是对于配置文件后的理解。

以下是官方链接,个人觉得英文写得挺易读的。

https://code.visualstudio.com/docs/cpp/config-linux

1. 格式(json格式)

需要看明白vscode配置文件的内容,需要提前知道什么是json格式,以下分享我看到一个链接,对于json格式大致理解即可,在我看来,json格式很像Python数据结构中的字典。

JSON 基本使用

  • 数组(Array)用方括号(“[]”)表示。
  • 对象(0bject)用大括号(“{}”)表示。
  • 名称/值对(name/value)组合成数组和对象。
  • 名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组
  • 并列的数据之间用逗号(“,”)分隔

2. 内容

文件名 作用 配置方法
task.json 告诉 VS code 如何编译 .cpp 文件,配置后将调用 g++ 编译器基于源代码创建可执行文件 选择:Terminal > Configure Default Build Task,在下拉菜单中选择:g++.exe build active file,选择会在 .vscode 文件中创建一个 tasks.json 文件。
launch.json 可以使用 F5 使 VS Code 启动 GDB 调试器来调试程序 1. 在主菜单选择 Run > Add Configuration…,然后选择 C++ (GDB/LLDB); 2. 下拉菜单中会有各种预定义的调试配置文件,选择 g++.exe build and debug active file。(也可能直接产生一个如下的调试文件,总之配置文件内容如下)
c_cpp_properties.json 对 C/C++ 扩展实现更多控制,可以改变编译器的路径、C++ 标准(默认为 C++17)以及更多。(compiler path and IntelliSense settings) 在命令面板(Ctrl+Shift+P)中执行 C/C++:Edit Configurations(UI) 命令可以查看 C/C++ 的配置界面 C/C++ Configurations。VS Code 会将在 C/C++ Configurations 中被更改的配置写入到 ./vscode 下的 c_cpp_properties.json 文件中。
settings.json

以上内容参考自:VS Code - C++ 的配置文件

2.0 task.json

如果只是需要编译代码信息,则配置这个文件即可。

源码信息

{
    
    
    "tasks": [
        {
    
    
            // The task type to customize
            "type": "cppbuild",   
            // The name of the task.
            "label": "C/C++: g++ build active file",
            // ***The path to either a compiler or script that performs compilation.
            "command": "/usr/bin/g++",
            // ***调试命令,即g++ -g ${file} -o ${fileDirname}/${fileBasenameNoExtension}
            // -fdiagnostics-color=always 设置彩色错误提示
            // -g 添加调试信息
            // ${file} - 需要编译的文件,查看下文变量速查表
            // -o 后续参数为可执行文件
            // ${fileDirname}/${fileBasenameNoExtension} - 输出文件,查看下文变量速查表
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
    
    
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            // *** group 对象的 "isDefault": true 说明这个任务会在按下 Ctrl+Shift+B 时运行。
            // 这个属性只是为方便,如果设置为 false 可以通过中断菜单中的 Tasks: Run Build Task 来运行任务。
            "group": {
    
    
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

变量速查表

变量名 作用
${file} 当前打开正在编辑的文件名,包括绝对路径,文件名,文件后缀名
${fileDirname} 当前打开的文件所在的绝对路径,不包括文件名
${fileBasenameNoExtension} 当前打开的文件的文件名,不包括路径和后缀名

以上内容来自链接VS code 中的各种变量 f i l e , {file}, file,{fileBasename},链接中还有更多说明。

2.1 launch.json

2.2 c_cpp_properties.json

2.3 settings.json

猜你喜欢

转载自blog.csdn.net/weixin_42442319/article/details/127326468
今日推荐