sentry_chassis_hzz/.Doc/让VSCode成为更称手的IDE.md

137 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 让VSCode变成你熟悉的形状
VSCode的各种配置如快捷键、高亮颜色、主题、界面形状和位置等也包括各种插件的设置可以通过在`ctrl+,`打开的设置页面修改更好的方式是你已经尝试过的——通过xxx.json文件进行配置。VSCode的配置系统同样通过`.json`文件完成且存在继承和覆盖的关系。VSCode的底层配置`setting.json`是针对整个VSCode进行设置的而工作区目录下创建的`.vscode/setting.json`则可以覆盖底层配置。了解了基本的配置结构后,这里将介绍一些入手必备的设置和推荐安装的插件。
[TOC]
## 快捷键
不管使用什么软件,基本的快捷键一定可以帮助你提高效率,更专注于当前正在做的事——减少双手离开主键盘区的频率和时间。
常用的快捷键已经在[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用户忽略
把开发中常用但又繁琐的流程自动化,积累一套你自己的脚本库。
....
## 插件
> 学习一个插件的使用最好的方式是阅读插件的wiki和说明文档而不是在搜索引擎里面搜索询问ChatGPT或者Copilot Chat也是一个比较好的办法初级的问题它们几乎不会犯错。
- **Better C++ Syntax**
用于静态解析C++代码为intellisense以及language server提供代码高亮和完整的智能提示选项。
- **Blockman**
为代码分块。不同的作用域会被浅色背景边框包围同时高亮当前focus的代码块方便在大段代码中定位程序控制流。
- **Bookmarks**
为代码添加书签可以在左侧tab页中跳转到对应位置方便阅读代码时往复查看也有助于阅读理解。右键点击代码行号左侧即打断点的地方可以添加书签或带label的书签。
- **C/C++ Snippets**
为基本的语句(关键字)提供代码补全,如输入`for`自动生成下面的代码:
```c
for (size_t i = 0; i < count; i++)
{
/* code */
}
```
补全之后按下tab会进入不同的位置方便进一步修改snippet。你也可以在VSCode中自定义常用的snippet补全。
- **Code Issue Manager**
可以在代码的任意地方插入“便签”和“评注”支持多人协作。是一个比注释更好的TODO list和注意事项提醒。插入的issue支持markdown格式。
- **Doxygen Documention Generator**
为你的代码生成doxygen文档格式的注释。同时也支持一些基本的注释块生成。输入`/**`再按下回车会根据当前注释的位置自动生成合适的注释块。本框架中的注释均通过该插件生成。
- **Github Copilot / Copilot Labs / Copilot Chat**
体验大模型的威力。尤其是Copilot Chat非常适合为你提供一门语言的入门级咨询。
- **Gitlens**
方便地通过图形化的方式管理你的git仓库。
- **HexEditor & Hex Hover Converter**
以十六进制编辑文件 & 鼠标悬停在任意数值类型上时自动提供2/8/16进制的转换。
- **Live Share**
和你的伙伴一起coding。
- **SonarLint**
VSCode上最强大的静态检查工具在VSCode自动静态检查的基础上提供更严格的代码建议尽可能降低出错的可能。其中也包含了不同语言的最佳实践。
cmake可以通过添加`DCMAKE_EXPORT_COMPILE_COMMANDS=True` 的指令直接在cmakelists中通过`set()`设定也可以makefile则通过Makefile Tools插件设置生成`compile_commands.json`的路径。