【vscode】检查到已经改正的错误,没有错误却检查到有错误
一、问题背景
下面这个名为test1.c的C代码,在vscode中用扩展code runner工具通过【run code】方式执行时,
出现了诸如’xxx’ does not name a type、‘xxx’ expected unqualified-id before ‘for’、'i’does not name a type等错误。
于是本人把所有错误一一解决后,更改成如下模样。
#include <stdio.h>
int main()
{
int arr1[3]={0};
int arr2[3] = {1, 2, 3};
int i=0;
arr1[2] = arr2[2];
for(i=0; i<3; i++)
printf("%d\n", i);
for(i=0; i<3; i++)
printf("%d\n", arr1[i]);
return 0;
}
按道理是没有错误了,并且我也在terminal中输出了不带错误的正确结果。
但是problem中还是显示了很多错误,因此我怀疑vscode软件并没有对problem的缓存进行更新。
二、解决办法1:重新打开vscode
没更新缓存怎么办?最傻瓜的办法就是重启vscode软件。
行之有效,之后它就再也没显示错误了。
三、解决办法2:重新打开problems面板试试
关闭面板后。
再通过重新执行命令打开问题面板,或者直接用快捷键Ctrl+Shift+M打开问题面板。
这个解决办法没有办法1好用,有时候会失效。
四、扩展知识:快速清除终端内容的办法
4.1 命令clear
输入clear后,回车的瞬间,软件就会清空terminal。
4.2 设置清除终端快捷键
首先打开快捷键设置面板,可以选择下面三种办法中任意一种。
方法1:文件——偏好——快捷键设置。
方法2:快捷键Ctrl+K按下后再按一次Ctrl+S。
方法3:先用Ctrl+Shift+P调出命令搜索框,而后输入命令open keyboard shortcuts,选择下面的第二个选项。
打开快捷键设置面板后,在搜索框中搜索【workbench.action.terminal.clear】,而后在下面的第二个选项中的keybinding区域双击,
再输入想要设置的快捷键,例如Ctrl+shift+del