[Tools]VSCode配置大法

Koarz
2024-03-08 / 0 评论 / 0 阅读 / 正在检测是否收录...

不出意外的话,大家最开始使用VSCode的时候都被它的配置麻烦到了吧,接下来我会尽量详细的介绍.vscode文件夹里的json文件都是干什么的,以及你需要怎么写

文件介绍

一般情况下你的./vscode文件夹里可能有这些文件:
.vscode

  • launch.json文件就是你的调试程序的配置文件(感觉表达不是很清楚)
  • tasks.json里写的是一些调试前需要运行的一些命令
  • settings.json里写的是VSC的插件的配置,这些配置仅在当前目录下生效
  • c_cpp_properties.json相当于指路牌,告诉你的分析代码的插件应该上哪找头文件(仅限C/C++,我不了解其他语言有没有类似的文件)

一般情况下,你可能只需要task以及launch,执行task编译生成程序再launch调试。这里就主要讲一下这俩

tasks.json

task.json
其实现在你只要把鼠标放到上边他就会提示你这是什么,但是大家可能还是不太懂啊,如果是你自己配置的话你需要注意"command"参数即可,你需要在这里输入你的编译器路径即可(如果你只需要编译的话,其他的操作同理,输入对应程序的路径,别说你不知道g++,不会下载,不知道自己查去)。
如果你需要修改编译参数,只需要在"args"里加新加一行你需要的参数,比如我的参数有"-std=c++23"代表我写的代码需要使用c++23的库,然后"-g"对应文件编译输出到"${fileDirname}/${fileBasenameNoExtension}.out"就是文件所在目录里,编译文件名叫 文件名.out。
例如这段代码,经过task生成,使用对应参数最后输出编译文件
args

launch.json
{
  "configurations": [
    {
      "name": "C/C++: g++.exe 生成和调试活动文件",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}.out",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "/home/koarz/ldb_toolchain/bin/gdb",
      "setupCommands": [
        {
          "description": "为 gdb 启用整齐打印",
          "text": "-enable-pretty-printing",
          "ignoreFailures": false
        },
        {
          "description": "将反汇编风格设置为 Intel",
          "text": "-gdb-set disassembly-flavor intel",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++: g++.exe 生成活动文件"
    }
  ]
}

为了方便你直接用,我就把我的配置贴到这。
首先看"program"参数,这个参数就是你要调试的文件的位置,这里用 $ 那一串就是为了方便,你不嫌麻烦的话可以自己写文件的绝对位置,不然直接这个参数就照着tasks.json里的-o后边的写就行,args就是执行你调试程序输入的参数,一般来说你不需要写这个,除非你的程序需要处理某些参数,"externalConsole"为true的话就会直接跳出来程序界面,否则就在vsc终端那里显示了,"miDebuggerPath"后需要写你的gdb路径(如果你用gdb调试的话,用lldb就写lldb路径并将"MIMode"改成lldb)。
最后就是"preLaunchTask",这个就是你在调试前执行的tasks中的task,具体内容填写tasks里的 "label" 就会执行对应task了,在执行完之后才会执行gdb调试。

0

评论 (0)

取消