【问题标题】:Visual Studio Code not highlighting #if.. in C++Visual Studio Code 未在 C++ 中突出显示#if ..
【发布时间】:2016-12-20 10:20:00
【问题描述】:

我尝试让 VS-Code 为我的 C++ 项目工作,但我遇到的问题是语法突出显示忽略了预处理器指令,如 #if/#else/#endif

我安装了扩展程序 ms-vscode.cpptools (C/C++) 和 ext install code-gnu-global (Intellisense)。

“转到定义”正确显示#define

#define ON_TARGET false 结果同样高亮

应该是这样的:

【问题讨论】:

  • 在这种罕见的情况下,屏幕截图可能比仅文字描述更好。
  • 添加了截图。
  • 您是否希望 c++ 编码不符合条件的 #if 块,例如变灰了?或者[...]results to the same highlighting[...]是什么意思
  • VSCode 不是编译器,它不知道你的代码意味着什么
  • 但是如果我用“1”或“0”替换变量,为什么它会起作用? (见第二张图)

标签: c++ visual-studio-code


【解决方案1】:

自从v 0.15 以来,VS Code 可以使用 Microsoft 的 C/C++ 扩展来做到这一点 从 2018 年 2 月开始。

【讨论】:

  • 我不小心停用了它。我应该如何再次激活它?
  • 转到设置文件/首选项/设置或 ctrl + ,然后在search settings 字段中,输入dim inactive regions,您将看到启用和禁用它的选项
【解决方案2】:

Visual Studio Code 不能开箱即用,因为它“只是”一个编辑器

如果您编译代码,它将按预期工作。

要评估此类定义,您需要一个 IDE,例如Visual Studio、CLion 或您可以使用其他插件 来实现此目的。 (例如C/C++ Plugin

【讨论】:

  • 好的,谢谢。我认为 VSCode 不仅仅是一个编辑器。因此,如果我想要一个编辑器/IDE,我可以坚持使用 Aton/Notepad++ 或“真正的”VS。认为 VSCode 可能是一个轻量级的 IDE,误解了......
  • @thetemplar 您可以做的不仅仅是使用 VSCode 编辑代码。您可以设置断点、调试代码或执行定义的任务。它可以在 Windows、macOS 和 Linux 上使用。检查这个。 link
  • 对不起,你是对的。但我必须使用第三方编译器和调试器,遗憾的是不能使用这些工具,所以我忘记了它们以及其他开发人员对它们的使用。
  • 我认为几年后,VSCode 已经有了很大的发展,这要归功于插件,在我看来,它变得像一个 IDE。最近,IDE 和编辑器之间的界限变得模糊。这个答案在写的时候可能是真的,但它不再有效了。
猜你喜欢
  • 2018-09-25
  • 1970-01-01
  • 2021-05-13
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
  • 2021-12-20
  • 2018-09-06
相关资源
最近更新 更多