0

我不确定这是否是 IDE 的标准行为,但我个人觉得这很烦人。如果一个文件在构建时产生警告(未使用的变量、不匹配的 ints/longs/等),如果另一个文件被修改并单击“构建项目”按钮,这些警告将停止显示。继续显示与未修改代码有关的警告不是更有意义吗?有没有办法强制这种行为?

4

2 回答 2

1

当编译器发出警告时会显示警告——不幸的是,这是 VS 团队(至少到 2008 年)和 Qt Creator 团队做出的设计决定。

这似乎是标准行为,我不知道有任何选项可以覆盖它。在 Qt Creator 中应该很容易修复,但在 Visual Studio 中可能很难修复,除非存在相关 API。对于 VS,您需要编写一个加载项,并且需要有一个 API 可以让您对错误列表和构建过程进行读写访问。如果存在这样的 API,那么它也将是一件简单的事情。

于 2012-06-07T22:00:28.040 回答
0

这是“标准行为”,更具体地说,行为是地球上构建系统如何“按设计行为”的属性。

正如@Kuba 所说,警告是由编译器发出的。它们不被存储(除了在构建操作的“所有错误/警告日志”中,IDE 通常从不读取未来构建操作的回读和摘录,这将获取他们自己的新警告/错误日志)。因此,除非编译器实际再次编译文件,否则您将不会再次看到警告,这是因为它们将是构建操作再次生成的新警告。

为了得到你想要的(一个聪明的想法,恕我直言),构建系统需要:

  • 存储来自每个文件编译的警告(可能基于“每个文件”)
  • 每次“使用”文件输出产品时调用/显示这些警告

非常聪明。我不知道有任何系统可以做到这一点。这将需要相当重要的 IDE 或构建产品的构建工具级管理,恕我直言,它们都做得不好(但有些比其他更好)。

这是 2012 年,我们不仅缺少我们的飞行汽车,而且缺少构建系统,这些构建系统仅/快速构建仅需要使用所有内核同时轻松处理不同配置的系统。两者都在预料之中。

然后,在那之后的某个时候,你可能会得到你的功能。那将是一个奖励,因为这样你就可以在你的飞行汽车中使用它。

于 2012-06-08T11:57:34.580 回答