【问题标题】:Switch autocompletion for enum in Visual Assist or Vanilla Visual Studio在 Visual Assist 或 Vanilla Visual Studio 中切换枚举的自动完成功能
【发布时间】:2014-09-17 09:20:06
【问题描述】:

是否有使用 Visual Assist 或 Vanilla Visual Studio 扩展枚举所有值的开关?包含的片段只需插入一个带有默认条目的基本开关。我正在使用最新的 Visual Studio 2013 更新。

【问题讨论】:

    标签: c++ visual-studio visual-assist


    【解决方案1】:

    VS 2013 可以使用默认的 sn-p 为枚举构建 switch 语句。 (注意:使用默认的 VS sn-p,而不是 VA Snippet。)

    当您键入“swit”时,接受 VS 建议的代码 sn-p。将“switch_on”替换为您的枚举,然后按 Enter。你的陈述将扩大。 (如果一个从列表框中选择了您的枚举,则需要两个 Enter。)

    【讨论】:

    • 对我不起作用。更准确地说,它工作了一次,然后两次没有。 VS2015。有什么想法吗?
    • @VioletGiraffe 我也有同样的问题。有时它会起作用,而且很棒。有时该选项不会出现。下面 sean-e 的另一个答案在所有情况下都对我有用。
    【解决方案2】:

    在最初生成 switch 后,如果添加新的枚举值,则可以使用 Visual Assist 中的Add Missing Case Statements 命令用新值 (shift+alt+q, m) 填充 switch 语句。

    【讨论】:

      【解决方案3】:

      在 Visual Studio 2015 中,如果判别器使用 const 声明,则切换用例的自动完成功能将失效,如下例所示:

      auto const enu = static_cast<MediaType>(discriminant);
      

      删除 const,瞧——它又可以工作了!

      (如果你愿意,你可以把 c​​onst 放回去。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-26
        • 2012-02-18
        • 2015-01-02
        • 2020-12-28
        • 1970-01-01
        • 2011-01-05
        相关资源
        最近更新 更多