登录发现更多内容
首页
分类
发帖
账号
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
首页
Portal
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
产品教程
BBS
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
开发资料
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
样品购买
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
IoT云平台
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
GitHub
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
技术博客
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
搜索
搜索
热搜:
LoRa
ESP8266
安信可
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
任务
广播
导读
排行榜
设置
我的收藏
退出
6
0
2
首页
小安派·Eyes-R2
›
【小安派R2测评】安信可小安派R2 - 使用 clangd 优化代 ...
返回列表
【小安派R2测评】安信可小安派R2 - 使用 clangd 优化代码提示与跳转
[ 复制链接 ]
发布帖子
wenfengand
中级会员
6
主题
5
回帖
491
积分
中级会员
中级会员, 积分 491, 距离下一级还需 9 积分
中级会员, 积分 491, 距离下一级还需 9 积分
积分
491
私信
6人留言
楼主
小安派·Eyes-R2
3761
6
2024-9-23 22:25:18
# 一、背景 在完成开发环境搭建后,vscode 自带的代码提示与跳转不太好用,经常报错或者跳不动。在开始大规模改代码前,有必要先使用 clangd 来优化一下。 # 二、效果 代码跳转非常快,能一直跳转到最底层的函数,方便阅读代码。 ![]())![]() 代码提示也非常到位,可以快速完成功能搭建。 ![]()) # 三、主要步骤 ## 3.1 安装必要的软件。 ### 3.1.1 安装 clangd ```Bash sudo apt install clangd ``` ### 3.1.2 安装 compiledb ```Bash pip3 install compiledb ``` ## 3.2 生成编译数据库 然后分析项目的编译过程,在合适的地方生成编译数据库 从执行 make 的目录,也就是 `AiPi-Eyes-Rx` 目录找到 `Makefile`,发现最后包含了 SDK 路径的 project.build ![]()) 继续查,会发现执行 make 后,会在 `AiPi-Eyes-Rx/build` 目录生成最终的 makefile,然后执行 make ![]()) 转到 `AiPi-Eyes-Rx/build` 目录,执行命令生成编译数据库 ```Bash compiledb -n make ``` 可以看到在 build 目录生成了 `compile_commands.json` 文件,内容如下: ![]()) 编译数据库指定了编译器、编译参数以及各个文件的路径,可以让 clangd 快速提示以及跳转。 ## 3.3 生成 vscode 配置 在项目的根目录新建 `.vscode/settings.json`文件,内容如下: ```JSON { "clangd.arguments": [ "--compile-commands-dir=AiPi-Eyes-Rx/build", "--all-scopes-completion", "--background-index", "--completion-style=detailed", "--header-insertion=iwyu", "--header-insertion-decorators", "-j=8", "--pch-storage=disk", "--clang-tidy", "--completion-parse=auto" ], "clangd.path": "/usr/bin/clangd" } ``` 其中 `clangd.path` 根据自身情况做调整。 ## 3.4 排除特定编译 flag 再在根目录新建 `.clangd` 配置文件,用于排除特定的 flag,否则 clangd 会报错:`Failed to prepare a compiler instance: valid target CPU values are` ```JSON CompileFlags: Remove: ["-march=rv32imafcpzpsfoperand_xtheade", "-mabi=ilp32f", "-mtune=e907"] ``` 注意是项目的根目录,不是 build 目录。 重新打开窗口后,就能看到 clangd 的代码提示了,跳转速度也很快,编程体验很好。
点赞
0
收藏
2
淘帖
0
────
0
人觉得很赞
────
回复
使用道具
举报
6 回复
电梯直达
正序浏览
倒序浏览
正序浏览
沙发
爱笑
回复
使用道具
举报
2024-9-24 08:33:09
大佬大佬!
回复
评论
使用道具
举报
用心做好保姆工作
板凳
bzhou830
回复
使用道具
举报
2024-9-24 08:41:32
大佬,能搞个傻瓜版的一键配置好吗
回复
评论
使用道具
举报
选择去发光,而不是被照亮
地板
一只呆头鹅
回复
使用道具
举报
2024-9-24 09:58:02
厉害了
回复
评论
使用道具
举报
5
#
walkman
来自手机
回复
使用道具
举报
2024-11-5 14:23:11
支持
回复
评论
使用道具
举报
6
#
walkman
来自手机
回复
使用道具
举报
2024-11-5 14:25:28
支持
回复
评论
使用道具
举报
7
#
Lisaro
回复
使用道具
举报
2024-11-8 18:41:00
解决一大痛点
回复
评论
使用道具
举报
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
手机登录
点评
高级模式
本版积分规则
回帖并转播
回帖后跳转到最后一页
返回
今日推荐
【电子DIY作品】食语精灵:AI 语音菜谱终端 + Ai-WV02-32S
【电子DIY作品】不想当Ai助手的音响不是好对讲机+Ai-WV01-32S
【电子DIY作品】儿童任务激励系统|AI 自动批改作业+Ai-WV01-32S
【电子DIY作品】搓一个会「教字」的 AI 小老师——小安 字词宝 +
【电子DIY作品】默语小智管家(Ai-WV02-32S)
【电子DIY作品】MCP 网关 + Ai-WV01-32S 让 AI 语音助手控制局域
MQTT 入门与实战:从协议原理到两块 WB2 对联
九章验证板——智能家居项目
Ai-Thinker Skills 正式发布!快来试试!
九章开发板疑问
热帖排行
【电子DIY作品】食语精灵:AI 语音菜谱终端 + Ai-WV02-32S
【电子DIY作品】不想当Ai助手的音响不是好对讲机+Ai-WV01-32S
【电子DIY作品】儿童任务激励系统|AI 自动批改作业+Ai-WV01-32S
【电子DIY作品】搓一个会「教字」的 AI 小老师——小安 字词宝 +
【电子DIY作品】默语小智管家(Ai-WV02-32S)
【电子DIY作品】MCP 网关 + Ai-WV01-32S 让 AI 语音助手控制局域
Ai-WB2 BLE HID 三合一复合设备
不敢想象,这个项目的模块达到50+的时候,就不用啃芯片手册了
统计信息
会员数: 31226 个
话题数: 42326 篇
首页
分类
我的