【问题标题】:C++ background code analyser, like Resharper for C#?C++ 后台代码分析器,比如 Resharper for C#?
【发布时间】:2012-09-12 11:50:11
【问题描述】:

我意识到有许多工具可以提供 R# 的其他便利,但我正在寻找一种工具,它可以在我实际尝试构建之前告诉我是否有编译/链接错误。就像在 C# 中一样,它应该告诉我是否缺少分号、引用缺少的函数等。

在 R# 中,它在右下角有一个漂亮的红/绿点,告诉你是否有编译问题。

我查看了 CodeRush,但我不清楚它是否会为 c++ 提供此功能。

应该提到它是针对 VS 的,当然,对于其他工具有用的建议对阅读本文的人来说会很有用。

【问题讨论】:

  • 在 C++ 中,实际上不可能在没有实际编译的情况下判断某些东西是否可以编译(例如,有些东西取决于内部内存布局)。所以你正在寻找的是一个使用编译器(库)作为其后端的工具。

标签: c# c++ resharper code-analysis


【解决方案1】:

您使用的是什么版本的 Visual Studio? Visual Studio 2010 及更高版本应该能够检查语法错误、未定义的标识符等。

Eclipse 的最新版本也可以做到这一点。 (事实上​​,Eclipse 的代码分析会检查一些潜在的问题,例如我的编译器没有的未初始化的成员变量。)由于 Eclipse 是一个成熟的 IDE,它不会与 Visual Studio 集成,但没有什么能阻止您创建 Eclipse项目包含与另一个 IDE 的项目相同的文件,并使用 Eclipse 进行编辑,并使用另一个 IDE 进行构建和调试。 (我这样做是为了将 Eclipse 与 Embarcadero C++Builder 一起使用,因为比起 Embarcadero C++Builder,我更喜欢 Eclipse 作为 IDE。)

更新: Visual C++ 显然将此称为 IntelliSense 错误报告,您可以在工具、选项、文本编辑器、C/C++、高级、IntelliSense 下启用它。 This blog post 有更多信息。

【讨论】:

  • 我在 2010 年。我不认为它会做这样的事情。也许我需要配置一些东西?
  • @Carlos - 检查工具、选项、文本编辑器、C/C++、高级、IntelliSense;我相应地更新了我的答案。
【解决方案2】:

看看 Visual Assist X。它没有 Resharper 先进,它只是增强了 IntelliSense,但可以让你的 C++ 编写更容易一些。

【讨论】:

  • 我没有看到它告诉我编译错误。有没有我需要更改的选项?
  • 嗯,据我所知没有。正如 PlasmaHH 所说,必须编译 C++ 才能发现编译错误。就我使用它而言,Visual Assist X 没有这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多