Vscode 不会像其他 IDE 那样在 IDE 上显示错误,例如(Visual Studio 2019、repl.it 等)

Vscode doesnt show errors on the IDE like other IDEs such as (visual studio 2019, repl.it, etc.)

提问人:AceJoker Studio 提问时间:8/15/2022 最后编辑:AceJoker Studio 更新时间:8/16/2022 访问量:327

问:

所以我最近开始使用 vscode 并使用 c++ 项目,当我注意到一些错误没有显示时。此外,该程序在 vscode 上运行良好,但在 repl.it 上使用时,它会显示一些严重错误,例如“信号:中止(核心转储)”,它会告诉我它在哪一行遇到了该问题。

然而,在我看来,查看 vscode,它没有检测到细微的错误,例如当我有一个会返回字符串的函数并且我故意返回 0 而不是字符串时,它仍然认为这是一个有效的操作。我不知道问题出在IntelliSense还是某些错误检查方面,但可以肯定的是,我知道Visual Studio会用数字行上出现的警告标志来显示这一点。

我确实为错误启用了波浪线,如果我错误地输入了一些关键字,它确实会显示错误。我想知道的是 c++ 在哪里无法运行,并在运行前甚至在运行时告诉我。

应该有的时候没有错误的屏幕截图

C++ visual-studio-code 语法错误

评论

2赞 UnholySheep 8/15/2022
标记为“应该是错误”的行不应是编译时错误。它是语法上有效的 C++ 代码,尽管是一个错误(调用未定义的行为)
0赞 AceJoker Studio 8/15/2022
@UnholySheep确切地说,我想弄清楚如何将此错误视为警告或类似它们在 Visual Studio 2019 中显示的内容,并在逻辑上无效但编译器仍然运行它时发出警告,例如内存越界错误。

答:

2赞 Dennis Kozevnikoff 8/15/2022 #1

VSCode 非常智能,理论上它应该能够拥有其他 IDE 所具有的所有 IntelliSense。然而,这并不是开箱即用的。您需要安装一些特定于您使用的编程/脚本语言的扩展。例如,对于 C++,您可以下载 Microsoft 开发的 C/C++ 扩展。

安装所需的扩展后,请阅读一些文档并根据需要进行调整。

IntelliSense 问题将得到解决。

0赞 AceJoker Studio 8/16/2022 #2

我发现它没有显示崩溃错误,因为我的 msvc 安装有缺陷。我再次下载了 msvc 并使用 Pacman 命令安装所有必要的文件,现在我的崩溃错误显示出来。但是,某些语法错误仍然不显示为 int main {...没有闭合大括号。此代码仍会运行,并在运行时选取错误。我本来希望在运行之前突出显示错误。

评论

1赞 Nicol Bolas 8/16/2022
"一些语法错误仍然不显示,例如 int main {...没有闭合大括号。此代码仍在运行,并且在运行时会发现错误“ 这是不可能的。语法错误(如缺少大括号)无法成功编译。因此,它根本无法运行。你很可能误解了正在发生的事情。比如,您正在运行以前生成的可执行文件,而不是基于非编译代码的可执行文件。
0赞 AceJoker Studio 8/17/2022
@NicolBolas 是的,先生,你是对的,这是以前的构建,否则他们会告诉你它不会在构建期间运行。但是,我的观点是,我不想在构建或运行后被告知错误,而是在构建之前收到诸如“缺少 }”之类的警告。我试过错误镜头,但它也没有这样做。