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, 便会跳转的该变量的定义

相关推荐
调试优选官4 天前
IoT物联网系统定制落地实践:从设备接入、协议网关、平台分层到业务应用,如何做技术选型、交付验收、责任边界与长期运维成本评估及迁移安排
物联网·iot·成本分析
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
深圳老胡4 天前
STM32F407 控制 L6470 步进电机驱动 —— 控制过程简介
笔记·stm32·单片机·嵌入式硬件·代码规范
华允物联-HUAIOT4 天前
工业路由器和DTU在联网方式上的区别
物联网
wuyk5554 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
码流子4 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
女神下凡4 天前
嵌入式设计的各种存储芯片的硬件/软件设计规范,非常全面。
arm开发·单片机·嵌入式硬件