vscode config

c_cpp_properties.json

代码环境,宏设置

defines 声明的宏,相当于代码浏览时,定义了 #define ENABLE_DL_MODEL

cmakelists.txt :: add_definitions(-DENABLE_DL_MODEL),向编译器添加预处理器定义,在C++代码中添加 #define ENABLE_DL_MODEL

bash 复制代码
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "${workspaceFolder}/src/xxx_pkg/src"
            ],
            "defines": [
                "ENABLE_DL_MODEL"
            ],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

task.json

获取hmi_display 进程的路径信息

bash 复制代码
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "source_env",
            "type": "shell",
            "command": "cd ${workspaceFolder}/../install && ./set_env.sh && LD_LIBRARY_PATH+=\":$PWD/lib/3rdparty/mlpack-3.4.2/lib:/home/user_name/catkin_ws/install/lib\" && export LD_LIBRARY_PATH"
        },
        {
            "label": "get_install_path",
            "type": "shell",
            "command": "readlink -f /proc/$(ps -ef | grep hmi_display | grep -v grep | awk '{print $2}' | head -n 1)/exe 2>/dev/null | awk -F 'hmi/|/bin' '{if (NF>1) print $2}'",
            "problemMatcher": []
        }
    ]
}

launch.json

bash 复制代码
{
    "env": {
        "install_path": "$(task:get_install_path)"
    },
    "configurations": [
        {
            "type": "bashdb",
            "request": "launch",
            "name": "Bash-Debug (hardcoded script name)",
            "cwd": "${workspaceFolder}",
            "program": "/home/uisee/catkin_ws/batch_abandon.sh",
            "env": {
            },
            "args": []
        },
        {
            "name": "gdb attach",
            "type": "cppdbg",
            "request": "attach",
            "processId":"${command:pickProcess}",
            // "program": "/home/user_name/catkin_ws/install/bin/global_planner",
            "program": "/proc/${command:pickProcess}/exe",
            "MIMode": "gdb",
            "miDebuggerPath": "/usr/bin/gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        },
        {
            "name": "gdb launch global_planner",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/../install/bin/global_planner", // 替换为你实际要调试的可执行程序的路径,可以使用相对路径或绝对路径
            // "preLaunchTask": "source_env",
            "args": [], // 如果你的程序需要命令行参数,可以在这里添加,例如 ["arg1", "arg2"]
            "stopAtEntry": false, // 设置为 true 则程序会在入口点就停止,方便从头开始调试
            "cwd": "${workspaceFolder}/../install/", // 当前工作目录,一般设置为项目文件夹
            "environment": [
                {
                    "name": "LD_LIBRARY_PATH",
                    "value": "${workspaceFolder}/../install/lib:${workspaceFolder}/../install/lib/3rdparty/qpOASES/lib:${workspaceFolder}/../install/lib/3rdparty/cyclonedds/lib:${workspaceFolder}/../install/lib/3rdparty/mlpack-3.4.2/lib:${workspaceFolder}/../install/lib/3rdparty/boost-1.69.0/lib:${workspaceFolder}/../install/lib/3rdparty/acados-0.1.3/lib:${workspaceFolder}/../install/lib/depend/iceoryx/lib:${workspaceFolder}/../install/lib/3rdparty/opencv33/lib:${workspaceFolder}/../install/lib/depend/cyclonedds/lib:${workspaceFolder}/../install/lib/depend/cuda-9.0/lib:${workspaceFolder}/../install/lib/depend/others/lib:$LD_LIBRARY_PATH"
                }
            ],
            "externalConsole": false, // 设置为 true 则会弹出一个外部控制台窗口,false则在VSCode的集成终端中显示输出
            "MIMode": "gdb",
            "miDebuggerPath": "gdb", // 这里假设gdb已经在系统的环境变量路径中,如果不是,需要填写gdb的完整路径
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        },
        {
            "name": "gdb launch local_control",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/../install/bin/local_control", // 替换为你实际要调试的可执行程序的路径,可以使用相对路径或绝对路径
            // "preLaunchTask": "source_env",
            "args": [], // 如果你的程序需要命令行参数,可以在这里添加,例如 ["arg1", "arg2"]
            "stopAtEntry": false, // 设置为 true 则程序会在入口点就停止,方便从头开始调试
            "cwd": "${workspaceFolder}/../install/", // 当前工作目录,一般设置为项目文件夹
            "environment": [
                {
                    "name": "LD_LIBRARY_PATH",
                    "value": "${workspaceFolder}/../install/lib:${workspaceFolder}/../install/lib/3rdparty/qpOASES/lib:${workspaceFolder}/../install/lib/3rdparty/cyclonedds/lib:${workspaceFolder}/../install/lib/3rdparty/mlpack-3.4.2/lib:${workspaceFolder}/../install/lib/3rdparty/boost-1.69.0/lib:${workspaceFolder}/../install/lib/3rdparty/acados-0.1.3/lib:${workspaceFolder}/../install/lib/depend/iceoryx/lib:${workspaceFolder}/../install/lib/3rdparty/opencv33/lib:${workspaceFolder}/../install/lib/depend/cyclonedds/lib:${workspaceFolder}/../install/lib/depend/cuda-9.0/lib:${workspaceFolder}/../install/lib/depend/others/lib:$LD_LIBRARY_PATH"
                }
            ],
            "externalConsole": false, // 设置为 true 则会弹出一个外部控制台窗口,false则在VSCode的集成终端中显示输出
            "MIMode": "gdb",
            "miDebuggerPath": "gdb", // 这里假设gdb已经在系统的环境变量路径中,如果不是,需要填写gdb的完整路径
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        },
        {
            "name": "gdb launch simulation_vehicle",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/../install/bin/simullation_vehicle", // 替换为你实际要调试的可执行程序的路径,可以使用相对路径或绝对路径
            // "preLaunchTask": "source_env",
            "args": [], // 如果你的程序需要命令行参数,可以在这里添加,例如 ["arg1", "arg2"]
            "stopAtEntry": false, // 设置为 true 则程序会在入口点就停止,方便从头开始调试
            "cwd": "${workspaceFolder}/../install/", // 当前工作目录,一般设置为项目文件夹
            "environment": [
                {
                    "name": "LD_LIBRARY_PATH",
                    "value": "${workspaceFolder}/../install/lib:${workspaceFolder}/../install/lib/3rdparty/qpOASES/lib:${workspaceFolder}/../install/lib/3rdparty/cyclonedds/lib:${workspaceFolder}/../install/lib/3rdparty/mlpack-3.4.2/lib:${workspaceFolder}/../install/lib/3rdparty/boost-1.69.0/lib:${workspaceFolder}/../install/lib/3rdparty/acados-0.1.3/lib:${workspaceFolder}/../install/lib/depend/iceoryx/lib:${workspaceFolder}/../install/lib/3rdparty/opencv33/lib:${workspaceFolder}/../install/lib/depend/cyclonedds/lib:${workspaceFolder}/../install/lib/depend/cuda-9.0/lib:${workspaceFolder}/../install/lib/depend/grpc/lib:${workspaceFolder}/../install/lib/depend/others/lib:$LD_LIBRARY_PATH"
                }
            ],
            "externalConsole": false, // 设置为 true 则会弹出一个外部控制台窗口,false则在VSCode的集成终端中显示输出
            "MIMode": "gdb",
            "miDebuggerPath": "gdb", // 这里假设gdb已经在系统的环境变量路径中,如果不是,需要填写gdb的完整路径
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]

}
相关推荐
2501_915909064 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
sunoo-2294 天前
【ARM嵌入式学习笔记Day6】一文打通i.MX6ULL时钟体系:PLL/PFD/预分频+滞回比较器全解析
arm开发·笔记·vscode·单片机·imx6ull·汇编语言
明天…ling4 天前
gitee与vscode远程连接
vscode·gitee
2501_915918415 天前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
__pop_5 天前
VSCode Remote SSH 远程连接 glibc 高版本依赖问题
vscode
daxiangxm5 天前
【趣味休息】“围住小猫在线玩”-“困住小猫”,又回来了
数据结构·人工智能·vscode·github·php
星光开发者5 天前
基于Spring Boot的充电桩管理系统的设计与实现-计算机毕设【课程设计】57105
vue.js·spring boot·vscode·mysql·django·php·express
程序员允诺6 天前
内网/无网环境必备:VS Code Remote-SSH 离线包下载与手动部署教程
vscode
darin_ฅ( ̳• ◡ • ̳)ฅ16 天前
【开发工具】2026版-VScode&IDEA&Cursor插件安装及插件配置迁移
vscode·idea
别动我齐刘海6 天前
ROS2 Jazzy + C++ 实战路线——进阶学习3
c++·人工智能·vscode·python·算法·机器学习·机器人