首页 > 其他分享 >vscode的配置文件

vscode的配置文件

时间:2024-01-23 15:45:09浏览次数:41  
标签:cmake 配置文件 vscode C++ json install

vscode的配置文件

总述:vscode中一般会在项目文件夹下自动生成.vscode文件夹,其中存放若干配置文件(.json),一般有如下文件:

image-20240123150446630

下面将解释每个文件的用途与表现。

1. c_cpp_propertries.json

这个文件是使用vscode进行C++开发时会产生的文件,非C++用户可以直接跳过。其内容大致如下:

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/python3.8",
                "/data/anaconda_new/envs/cugr/lib/python3.8/site-packages/torch/include",
                "/data/anaconda_new/envs/cugr/lib/python3.8/site-packages/torch/include/torch/csrc/api/include",
                "/home/ustc/globalRouting/routing2/Xplace-main/cpp_to_py",
                "${workspaceFolder}/cpp_to_py"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c17",
            "intelliSenseMode": "linux-clang-x64"
        }
    ],
    "version": 4
}

可以看出,这个文件通常指定CPP项目本身的一些属性,比如使用什么C++标准进行预编译(cStandard),includePath路径是什么(#include的搜索位置),当然这些配置只是为了在编辑器中正常显示,不报错之类的。如果我们不使用vscode本身的编译环境编译,比如使用cmake或者自定义C++命令编译,那么就可以不配置这些东西,只是可能会在编辑器界面上显示一堆的红色黄色波浪线。

2. launch.json

这个文件是用于启动程序(run/debug)时会查看的配置文件,比如启动程序时传递参数(当然如果直接命令行传递就没必要写)。示例内容如下:

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "route",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/route",
        "args": [
            "-cap",
            "data/ISPD/ariane133_68.cap",
            "-net",
            "data/ISPD/ariane133_68.net",
            "-out",
            "test.output"
        ],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "setupCommands": [
          {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
          }
        ],
        "preLaunchTask": ""
        // "postDebugTask": "install"
      }
    ]
  }
  

在这个示例文件中,比较重要的是name,type,program,args,preLaunchTask等,name用于指定这个launch的名字,这会在vscode的运行调试界面的下拉框中显示,比如这里命名为route,我的vscode中就有显示如下:image-20240123151513505

program是指定运行的程序名,preLaunchTask是运行前提前执行的命令,这里为空,表示不执行任何命令,或者也可以设置为"build",表示运行前先进行重新编译。如果你的项目文件非常大,那么每次调试都要花费漫长的时间进行重新编译,这显然是很浪费时间的,所以可以将此字段设置为空(即使使用的是cmake tools,在这里也可以设置,因为cmake tools也会来匹配相应的配置,后续详细说明)。

3. tasks.json

这个配置文件中定义了自定义的一些任务,但应该会有C++编译器自动生成的任务如下,即调用g++进行编译:

{
    "type": "cppbuild",
    "label": "C/C++: g++ build active file",
    "command": "/usr/bin/g++",
    "args": [
        "-fdiagnostics-color=always",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
    ],
    "options": {
        "cwd": "${fileDirname}"
    },
    "problemMatcher": [
        "$gcc"
    ],
    "group": {
        "kind": "build",
        "isDefault": true
    },
    "detail": "Task generated by Debugger."
}

当然我们也可以额外进行定义一些自己的任务,比如每次cmake之后我都需要执行make install任务,我可以将这个任务写在tasks.json中,全部文件内容如下:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        },
        {
            "type": "shell",
            "label": "install",
            "command": "make install",
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}

这样里面就有两个任务,名字(label)分别为:

  • C/C++: g++ build active file

  • install

按Ctrl+shift+P,输入Tasks:Run Task,会显示出这两个任务:
image-20240123152431331

点击install就会执行这个make install任务了,不用再另外打开终端输入命令了(尤其命令行很长的话)。

当然这个也可以和前面的launch.json相互配合使用,比如我可以指定"postDebugTask": "install"(倒数第四行),这样就会在执行完程序后自动执行make install命令(只是举例,比如你可以写一个命令将程序执行输出的文件挪到固定的一个位置)。

4. setting.json

这个文件通常是用于描述一些插件的设置,或者编辑器本身的设置。只适用于这个项目喔~

{
    "cmake.debugConfig": {
        "args": [
            "-cap",
            "data/ISPD/ariane133_68.cap",
            "-net",
            "data/ISPD/ariane133_68.net",
            "-out",
            "test.output"
        ]
    }
}

比如在这个文件中,我仅设置了cmake tools的传递参数配置。在这里读者可能发现我在launch.json中也配置了cmake的执行传递参数。cmake会先去匹配launch.json中是否有对应的配置(查看program是否与当前执行的文件匹配),如果有则使用此配置,如果没有则搜索setting.json的"cmake.debugConfig"字段匹配。

总结:

这些是我尝试在vscode中使用cmake进行简单化的调试大项目总结的一些关于配置文件的东西,之前没有关注过这些,希望总结出来也能方便大家的使用!感谢阅读~

标签:cmake,配置文件,vscode,C++,json,install
From: https://www.cnblogs.com/fireinstone/p/17982613

相关文章

  • vscode windows CMakePresets.json
    vscode在windows下使用Ninja编译配置,使用VisualStudio编译环境。来源:CMakePresets.json参考:在VisualStudio中使用CMake预设进行配置和生成--示例文件CMakePresets.json{"version":2,"configurePresets":[{"name":"base","......
  • vscode本地调试gitbook
    1.windows下载安装git2.安装nodejs下载安装nvmhttps://github.com/coreybutler/nvm-windows/releases/download/1.1.9/nvm-setup.exe安装配置nodejsC:\Users\Administrator>nvminstall10Downloadingnode.jsversion10.24.1(64-bit)...CompleteCreating......
  • vscode插件推荐,可以上传ipa的插件
    vscode插件安装地址VSCode版本,或vscode中搜索蛋壳Uploader即可安装蛋壳Uploader可以帮助没有mac电脑的开发者,上传ipa到AppStore使用简单,选中ipa文件即可上传可以免费上传两次没有mac电脑如何上传ipa到AppStore:你也许一直在找下面的答案"如何在没有Mac电脑的情......
  • WSL2+Ubuntu22.04+Vscode 虚拟环境安装
    1.WSL2+Ubuntu22.04+Vscode虚拟环境安装详细攻略WIN11+WSL2+Ubuntu22.04+CUDA+MINICONDA3+Pytorch安装踩坑总结,手把手教学,看不会你打我1.1先决配置1.2安装命令官网https://learn.microsoft.com/zh-cn/windows/wsl/basic-commandswsl--install--no-distributio......
  • WSL2+Ubuntu22.04+Vscode 虚拟环境安装
    1.WSL2+Ubuntu22.04+Vscode虚拟环境安装详细攻略WIN11+WSL2+Ubuntu22.04+CUDA+MINICONDA3+Pytorch安装踩坑总结,手把手教学,看不会你打我1.1先决配置1.2安装命令官网https://learn.microsoft.com/zh-cn/windows/wsl/basic-commandswsl--install--no-distributio......
  • Vscode打不开的解决办法
    最近存放数据的机械硬盘突然坏了,基本上所有的数据的软件都没了,于是换了个盘开始了重新装软件之旅。VScode和VisualStudio必不可少,因此先开始装这两个软件。在使用卸载软件把VScode卸载并清理注册表后,重新下载安装发现打不开,就上网寻找各种解决办法。主要解决办法有以下5种,1、......
  • Linux系统中一些重要的配置文件
    1.网卡配置文件[root@testcentos7~]#cat/etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="none"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6IN......
  • vscode netcore运行配置
    launch.json{  "version":"0.2.0",  "configurations":[   {    "name":".NETCoreLaunch(web)",    "type":"coreclr",    "request":"launch&qu......
  • 【github】Mac系统中,如何项目clone(1.通过vscode链接github,2.进行clone)
     1.通过vscode打开一个空文件夹(目录:确认想要放置新项目的目录)2.进行vscode和github的链接1)参考下方网址1-6步,生成sshkey,登录到github,检测SSHkeyhttps://cloud.tencent.com/developer/article/1952247,网址中有效内容如下:1.检查SSHkey是否存在在Mac终端输入:ls-a~/.......
  • Linux网卡配置文件解析
    [root@localhost130~]#cat/etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"#网络类型为以太网#PROXY_METHOD="none"#代理方式#BROWSER_ONLY="no"#只是浏览器:否BOOTPROTO="static"#网卡协议获取网卡ip的方式,dhcp动态主机配置协议也就是自动获取,no......