Skip to content

Latest commit

 

History

History
136 lines (72 loc) · 7.72 KB

让VSCode成为更称手的IDE.md

File metadata and controls

136 lines (72 loc) · 7.72 KB

让VSCode变成你熟悉的形状

VSCode的各种配置如快捷键、高亮颜色、主题、界面形状和位置等(也包括各种插件的设置)可以通过在ctrl+,打开的设置页面修改,更好的方式是你已经尝试过的——通过xxx.json文件进行配置。VSCode的配置系统同样通过.json文件完成,且存在继承和覆盖的关系。VSCode的底层配置setting.json是针对整个VSCode进行设置的,而工作区目录下创建的.vscode/setting.json则可以覆盖底层配置。了解了基本的配置结构后,这里将介绍一些入手必备的设置和推荐安装的插件。

[TOC]

快捷键

不管使用什么软件,基本的快捷键一定可以帮助你提高效率,更专注于当前正在做的事——减少双手离开主键盘区的频率和时间。

常用的快捷键已经在VSCode的基础操作中介绍,这里推荐一些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函数设置特殊的颜色?
  • 函数参数变量设置不同的颜色?

终端工具

你至少应该学习bash(msys2中会集成一套类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会让你在双手始终保持在键盘区,劈里啪啦地编码,只不过学习成本较高,曲线复杂。

你最好升级一下默认的shell,windows下有好看的posh,linux则有广为流传的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自动生成下面的代码:

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的路径。