VS CODE进行NRF CONNECT项目开发出现变量无法链接跳转问题及解决方法

VS CODE进行NRF CONNECT项目开发出现变量无法链接跳转问题及解决方法

遇到的问题:

用VS CODE 进行NRF CONNECT 项目开发时,右键变量,按F12, 无法跳转,如下图:

右键 bt_data 希望找到该结构体类型的定义,但出现提示:No definition found for "bt_data"

问题分析:

VS CODE 编译应用APPLICATION时,生成build文件夹,在该文件夹中包含json文件,如下图所示:

编译的应用位于文件夹l3_e1_sol, 编译后生成的文件位于build目录下,生成的箭头所指的数据库文件compile_commands.json用于提供完整的头文件、宏、结构体定义。该文件位于l3_e1_sol/build/l3_e1_sol目录下,文件内容如下图所示:

编译成功后,插件(Extensions)C/C++ IntelliSense可以根据生成的编译数据库compile_commands.json库文件的内容进行跳转。

因此VS CODE无法连接并跳转,可能是两个原因造成的:

  1. IntelliSense被禁止
  2. 没有生成compile_commands.json文件

解决方法:

  1. 将应用中的源文件放到workspace中。

    a. 将应用所在的文件夹以及SDK文件夹放到workspace中

    b. 保存workspace, 文件名为BT-DUND, 文件内容如下:

  2. 使能IntelliSense

    a. 打开设置 Ctrl+, 即按住Ctrl按键和逗号","按键。打开设置页面,搜索栏中输入C_CPP.INTELLI, 如下所示

b. 先切换为tag_parser, 等待5秒,再切回Default

c. Ctrl + Shift +P, 执行C/C++: RESET INTELLISENSE DATABASE.

  1. 经过以上两步设置后,鼠标在变量上,便会出现该变量的提示,按F12, 便会跳转的该变量的定义。如下图所示:

上图:鼠标在变量bt_data上,会出现该变量的提示

上图:按F12, 便会跳转的该变量的定义

相关推荐
数据库小学妹9 小时前
国产数据库怎么选?兼容、迁移、核心案例与融合架构四道关
数据库·架构·国产数据库·数据库迁移·融合数据库
国科安芯9 小时前
立方星与微纳卫星综合电子微型化趋势下的抗辐射MCU选型综述
人工智能·单片机·嵌入式硬件·mcu·risc-v·抗辐射
xunyan62349 小时前
3-1 独立按键控制LED亮灭(SDCC + Notepad++ + STC-ISP/普中ISP)
单片机·嵌入式硬件·接口隔离原则
IvorySQL10 小时前
PostgreSQL 日报| PgBouncer 修复三个 CVE 漏洞(10 月 15 日)
数据库·postgresql·区块链
饺子大魔王的男人10 小时前
后台表格、查询、流程总在重复写?我用ToolJet把PostgreSQL直接做成可远程访问的业务系统
数据库·postgresql
Gauss松鼠会10 小时前
高斯数据库(openGauss)的物理存储结构
运维·服务器·数据库·sql·opengauss·经验总结
WD1372980155710 小时前
WD5030L,为充电桩、工业设备、5G 基站、车载系统、消费电子提供电源,7-30V 的宽压输入
stm32·单片机·嵌入式硬件·5g·车载系统·51单片机
杨云龙UP11 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册
运维·服务器·数据库·postgresql·pg_dump·pg_restore
AOI小白新手上路11 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库