Source Insight:向我展示枚举值

时间:2010-02-28 08:01:08

标签: c enums source-insight

我正在用C编程并使用Source Insight。

我有一个包含很多常量的枚举类型(如100)。我有打印输出变量值的调试打印,但它们(当然)打印为整数。

我想要做的是点击枚举常量的名称,并查看其数值显示在某处。 (我已经在Visual Studio插件中看到了这一点,所以它必须是可能的。)

也就是说,假设我有

enum colors {
    ORANGE, PURPLE, PINK
};

我想点击(或选择,或某事)PURPLE并看到值1可见的地方(理想情况下,符号窗口或上下文窗口,但我并不特别)。< / p>

在Source Insight中有一种简单的方法吗?有没有困难的方法,至少(比如写一个宏)?

1 个答案:

答案 0 :(得分:1)

我发现这样做的唯一方法是给枚举的每个成员一个特定的值 - 然后当它找到枚举常量时它会显示在上下文窗口中。 例如:

enum colors {
    ORANGE = 0,
    PURPLE = 1,
    PINK = 2
};

这不好但是有效......

看起来有可能编写一个弹出带有值的消息框的宏但我无法在3.50.0064中正常工作 - 它似乎认为错误的枚举在光标下。我的测试宏代码是

macro ShowEnum()
{
  symbolname = GetCurSymbol()
  symbol = GetSymbolLocation(symbolname)

  if (symbol == nil)
    Msg (symbolname # "not found")
  else
    Msg (symbolname # " found")
}

对我来说,这会从枚举列表中返回一个随机项作为“找到”项。如果返回正确的,我们可以使用SymbolParent()查找父级,然后使用SymbolChildren()/ SymListCount()

遍历子级