【问题标题】:IDE Conditional Block HighlightingIDE 条件块突出显示
【发布时间】:2012-02-03 16:07:11
【问题描述】:

设置:

想象一下,我有一个大小相当不错的程序,并且正在使用#defines 和包含/排除各种代码的各种方法。

I.E.假设我有一段这样的代码

example_file.c:

include <definition_file>

#ifdef THIS
  do something really cool here
#ifdef THAT
  do something even cooler
#endif
#endif

definition_file.c:

#define THAT TRUE
#define THIS FALSE

现在我不知道这两个语句都不会被包含或使用,除非我查看定义。上面是一个简单的例子,但是假设你有 50 个 ifdefs 并且它们以不同的方式嵌套,追踪 50 个值中的每一个是什么有点让人头疼。

问题:

是否存在某个程序/环境,例如灰显或突出显示整段代码,表明根据您的“控制文件”,它们不会被包含或将被包含。 (某种视觉或其他指示)

注意: 如果有人可以通过各种方式改进名称或问题,我真的不知道该怎么称呼它。 (或建议更好的标签)

【问题讨论】:

  • 您可能希望将内容更改为 #ifdef THIS ... #else ... #endif。只是一个建议
  • @vcsjones,C# 也支持这种条件编译机制,语法几乎相同(更改在 #define 上添加)。
  • @dBeer 我不确定我遵循的建议是什么,我只是展示了一个正在发生的嵌套 if 的示例。

标签: c# c++ c ide development-environment


【解决方案1】:

Eclipse(带有 CDT)也可以做到这一点。

【讨论】:

  • 它可以用自定义的“条件”IE来做到吗?如果我没有使用标准的行业语法?
  • CDT 做 C/C++,所以我假设它只支持 cpp 条件。
【解决方案2】:

Visual Studio 2010 将为 C++(不同程度的成功)和 C#(100% 可靠)执行此操作。

我假设您不想听到涉及代码重构的替代方案(多态性、不同的库以及在链接时选择要链接到的内容等)

【讨论】:

  • 我认为您的替代建议为时已晚/时间不够。
  • 只是想我会把它扔在那里;无论如何,我还是回答了他的直接问题:)
  • 哦,当然,也许他很幸运,可以做到。
  • 它可以用自定义的“条件”IE来做到吗?如果我没有使用标准的行业语法?我也在使用 Ada ......但我认为具体的语言是无关紧要的,因为我更多地关注条件前置......
  • Blindy,我不确定你的第二个陈述是指什么,我很感兴趣,但我不确定讨论的最佳途径,因为他们喜欢这些话题继续停留堆栈溢出)
猜你喜欢
  • 2012-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
  • 1970-01-01
相关资源
最近更新 更多