完成所有文档,发布正式版1.0

This commit is contained in:
NeoZng 2023-07-26 23:23:27 +08:00
parent ce90b3852c
commit 8a476e6ee1
2 changed files with 52 additions and 9 deletions

View File

@ -6,29 +6,72 @@ VSCode的各种配置如快捷键、高亮颜色、主题、界面形状和位
## 快捷键 ## 快捷键
不管使用什么软件,基本的快捷键一定可以帮助你提高效率,更专注于当前正在做的事——减少双手离开主键盘区的频率和时间。
常用的快捷键已经在[VSCode的基础操作](VSCode+Ozone使用方法.md)中介绍这里推荐一些shortcuts的组合可以直接`ctrl+k&s`打开快捷键设置或进入`setting.json`手动修改。当然,你不一定要和我们的建议完全一致,**根据自己的习惯定制才是最好的!**
- `ctrl+;`设置为移动到行尾,同时保留`end`,这样在输完函数参数之后不用按`→`或使用鼠标
- `alt+j/k`设置为向左向右移动,这样在修改的时候不用按方向键;可以设置组合键达到”移动到符号末尾”的功能实现按符号或单词移动
- `tab`改为移动到下一个建议(智能提示),`enter`设置为接受当前建议。如果只有一个建议,`tab`直接接受;`alt+tab`移动到上一个建议。
- 设置一个组合键用于选中当前单词
- 记住当前文件查找和全局查找的组合,最好再学习一下**正则表达式**。还有”选中当前所有出现“,可以快速定位当前文件有哪些地方用了这个变量/函数。
- 熟练使用`ctrl+tab`切换当前已经打开的文件
- 可以在`setting.json`中将`task.json`中的任务绑定成你需要的快捷键,比如默认`ctrl+shift+b`是构建任务。把一些常用的命令行操作写成task通过快捷键瞬间触发。
- 善用右键菜单中的peek xxx功能、展开调用层级和头文件/源文件跳转以及git查看文件差异的功能这在理清代码结构、查看之前的更改的时候非常有用。当然不是让你按右键是使用快捷键。如果你的键盘上有一个像文件一样的图标当你聚焦在编辑区的时候可以按下它来替代右键展开菜单
- more...
*若你使用触控板和笔记本电脑,也可以利用触控板实现一些实在找不到的快捷键功能。*一开始你可能会决定快捷键难记又难按,当你熟练之后,却会在无形之中极大提升你的效率。
## 提高效率
## 代码高亮 ## 代码高亮
虽然VSCode默认的语法高亮已经吊打KEIL和CubeIDE之流但你是否发现变量全是浅蓝色字符串、数值字面量内部也无法区分无出其右我们可以自定义各种entity的颜色
建议让copilot协助你完成打开`setting.json`开始设置吧:
- global、private member、public member、local设置为不同的颜色
- 私有函数和公开函数设置为不同的颜色
- static函数设置特殊的颜色
- 函数参数变量设置不同的颜色?
## 终端工具 ## 终端工具
你至少应该学习bashmsys2中会集成一套类linux的bash工具的基础指令如果有可能也学习一下powershell。在chatGPT或者Copilot的帮助下这易如反掌。当它们无能为力时请务必查阅**官方文档**而不是在CSDN中💩里淘🪙。
为你的终端配置好看的颜色、字体和背景,但不要花太多时间。一定要让你的终端具有补全和历史记录记忆功能。
学会在命令行中使用一些常用的git操作虽然vscode中已经提供了强大的图形化集成。
务必学习vi/vim/nano的基础操作。
熟悉在终端中创建/追加/移动/复制/删除文件和文件夹。
学习gnu工具链的简单指令协助你与编译报错信息一起定位bug和错误常常是undefined reference或未定义函数、未定义就使用
也许了解一下shell的工作原理或者更多现代操作系统的运行架构
> 为basic_framework通过串口/SWD建立一套简单的cmd有很多开源代码的实现期待你的PR
## 进一步提高效率
首先,快捷键一定要按的顺手,最好能让双手处于标准指法的起始状态就可以轻松触发。一定不要超过三个键,否则按起来手掌大开大合。
建议打开函数的自动括号补全一般在对应语言的插件设置中寻找同时习惯snippets的使用并根据自己的需要自定义一些方便的snippets。
如果你认为vim很酷那它确实很酷。vscode中有fake-vim插件喜欢折腾的话vim会让你在双手始终保持在键盘区劈里啪啦地编码只不过学习成本较高曲线复杂。
你最好升级一下默认的shellwindows下有好看的poshlinux则有广为流传的zsh。具体如何配置自行查阅**官方文档**。
记住最好将不同软件开发使用的环境隔离开所以你需要把msys2集成到vscode中macOS和linux用户忽略
把开发中常用但又繁琐的流程自动化,积累一套你自己的脚本库。
....

View File

@ -5,8 +5,8 @@ BSP
> TODO: > TODO:
> 1. 增加硬件和软件CRC支持,统一不同crc顺序和计算码的调用方式 > 1. 增加硬件和软件CRC支持,统一不同crc顺序和计算码的调用方式
bsp的功能是提供对片上外设的封装即单片机芯片内部拥有的功能的封装。在开发板pcb上集成的模块应该放在module层而不是这里。 bsp的功能是提供对片上MCU中外设的封装,即单片机芯片内部拥有的功能的封装。**在开发板pcb上集成的模块(蜂鸣器加热电阻wifi等)应该放在module层而不是这里**
bsp应该提供几种接口。包括初始化接口一般命名为`XXXRegister()`(对于只有一个instance的可以叫`XXXInit()`,但建议统一风格都叫register)调用此模块实现的必要功能如通信型外设CubeMX下的connectivity提供接收和发送的接口以及接收完成的数据回调函数。 bsp应该提供几种接口。包括初始化接口一般命名为`XXXRegister()`(对于只有一个instance的可以叫`XXXInit()`,但建议统一风格都叫register)调用此模块实现的必要功能如通信型外设CubeMX下的connectivity提供接收和发送的接口以及接收完成、发送完成(若有必要,或有发送队列需求)的数据回调函数。
bsp_tools.h中提供了将bsp数据接收回调函数设置为任务的接口通过这种方式可以进一步提高整个系统的实时性同时保证高优先级的任务一定按时执行。 - bsp_tools.h中提供了将bsp数据接收回调函数设置为任务的接口通过这种方式可以进一步提高整个系统的实时性同时保证高优先级的任务一定按时执行。