VS Code 的一些推荐技巧&插件(还是闲着没事

Laffey 2022-05-02 17:04:33 2022-05-16 9:28:56

调试

有些选手看到这个可能会觉得这还用写

嘛,因为虽然我们大多数在算法层面有一定造诣,但是在工程及代码编写和调试技巧方面还有待提升。如果不愿意看的话可以跳过。

配置方面教练教过了罢就不再细说不会可以试着自动生成或者百度

其实我们按下 F5 或者点击运行,就打开了调试。调试(debug)功能允许我们在代码运行时在某点中断、逐步执行、查看变量、对表达式求值,是无论哪种开发中都很有用的功能。

第一步我们需要在代码中打下断点。

duandian.png

把光标移到某一行左侧就会出现这个小红点,点一下它就会变亮,此时我们就在这一行打下了断点。

之后再按下 F5 运行就会发现程序在此处中断。

image.png

这时信息就很多了。我们一个一个来看。

左侧上方 “变量” 一栏列出当前代码块的局部变量的值。下方 “监视” 一栏中可以添加要监视的表达式或变量以便随时查看值。再下方 “调用堆栈” 中可以看到当前程序调用的堆栈,可以展开查看列表(一般是程序中的函数),在查看函数递归等场景比较有用。将鼠标挪到上方也可以发现有几个键,这个和上面的键基本类似,一会会提到。

目光往右走,右下方 “调试控制台” 中我们可以对表达式求值或发送一些指令。例如输入 a[1] 它就会显示 a[1] 的值。也可以输入数组名展示整个数组,但是这样偶尔会卡爆所以不推荐。

“终端” 选项卡中可以查看程序的输入输出。

中间代码编辑区域中,黄色高亮的一行就是程序运行到的某一行。

上方矩形中,按钮意思从左到右依次为:

  • 跳过断点继续执行。
  • 程序执行一步,但遇到函数调用时会跳过函数内部执行内容。
  • 程序执行一步,但遇到函数调用时会进入函数内部代码逐步执行。
  • 跳出当前函数,返回到上一级堆栈。即返回到调用这个函数的地方继续执行。
  • 立即停止调试。

Code Snippet

相信很多选手在使用 vsc 编写代码时都会遇见这玩意。

snippet.png

看起来像是代码自动补全,按一下 tab 键结果出来一大坨。

for.png

各位看到它肯定都是满头问号吧((

不过这其实是 vsc 中一个很强大的功能——代码片段(Code Snippet)

以上面出现的 for 循环代码片段为例,我们会发现开始的时候光标停留在 size_t 处,其实这是提示我们输入变量类型

比如我们现在要定义 int 类型的循环控制变量,于是输入 int

for2.png

vsc 就自动帮我们替换掉了 size_t

这时再按一下 tab 键。

for3.png

光标跳到了循环控制变量处并且调出了三个光标。这是在提示输入变量名。这里以 abc 为例。

for5.png

可以看到 vsc 帮助我们把应修改的三个地方(对应三个光标)都修改了,非常方便。再按下 tab 就跳到了输入限制变量,这里以 MAXN 为例。输入后再次按下 tab。

for6.png

这里已经无需修改,于是我们按下 tab 去下一个地方。

for7.png

光标自动跳到了循环体部分,直接输入代码即可。

另外还有许多自带的代码片段,我们也可以定义自己的代码片段,如果自带的片段不符合我们的习惯,也可以修改自带的代码片段。

插件推荐

这里推荐两个插件 BookmarksBracket Pair Colorizer 2。一个是添加书签方便跳转一个是优化括号配色。不再细说,可以自行安装使用试试效果。

image.png

image.png

还有一个插件 C++ Compile Run,因为 vsc 调试启动很慢,所以平常不需要调试的时候可以直接用这个插件,按下 F6 可以快速在终端中编译运行,十分的方便。遇到问题时再选择按下 F5 启动调试,细细寻找问题所在。另外 Code Runner 等插件也可实现类似功能。

image.png

总结((

vsc 还有很多强大的功能(不然也不会这么流行了hhh),作为 OIer 我们也可以勤加探索,遇到问题多问度娘说不定就能解决。

共 1 条回复

Laffey

注:Bracket Pair Colorizer 2 已作为内置功能被加入到 VS Code 中,故不再有此插件。

一个插件能成功到这种地步,估计开发者也很欣慰罢