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

相关推荐
zhangguojia732 分钟前
权限弹窗点击允许的授权流程
运维·服务器·数据库
jnrjian39 分钟前
Postgres 序列(sequence)的权限
数据库·postgresql
风禾万里40 分钟前
【无标题】
数据库
镜舟科技42 分钟前
为什么 Text-to-SQL 总是停在 Demo?
数据库·sql·demo·text-to-sql·镜舟科技·mip·语义视图
人生苦短1281 小时前
Oracle RAC 日常管理+排错命令大全
数据库·oracle
镜舟科技1 小时前
从 DBA 经验到 Agent:镜舟如何构建生产级智能排障体系
数据库·agent·dba·skill·devops agent·mirrorship
瀚高PG实验室1 小时前
HAC 集群主节点状态在starting、running之间频繁切换
运维·数据库·postgresql·瀚高数据库
jonyleek1 小时前
工业物联网边缘计算架构设计:从数据采集到本地决策
人工智能·物联网·边缘计算·工业物联网·边缘网关·jvs物联网平台·iot架构
其实防守也摸鱼1 小时前
教育信息技术应用创新---基础软件信息赛
运维·服务器·数据库·github·copilot
GG-_-Bond1 小时前
9.1-kv存储持久化的设计
数据库