Visual Studio 2008 intellisense用于枚举类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio 2008 intellisense用于枚举类型相关的知识,希望对你有一定的参考价值。

是否有一个设置,即Visual Studio中的intellisense还会在intellisense中弹出变量,而不仅仅是枚举类型的值?它显然知道它应该是一个枚举。也许这只是一种阻止我在那里放置可能导致异常的东西的机制。

考虑以下设置:(这有点做作,我很抱歉。)

Public Enum PhraseEmphasis
   Monotone = 0
   Question
   Statement
   Exclamation
   CrazyExclamation
   QuestioningExclamation
   Cursing
End Enum

Private _emphasisFromCode as PhraseEmphasis

Public Function Speak(ByVal phrase As String, ByVal emphasis As PhraseEmphasis) as String
Select Case emphasis
  Case PhraseEmphasis.Question
    Return phrase + '?'
  Case PhraseEmphasis.Statement
    Return phrase + '.'
  Case PhraseEmphasis.Exclamation
    Return phrase + '!'
  Case PhraseEmphasis.CrazyExclamation
    Return phrase + '!!!1!eleven!!'
  Case PhraseEmphasis.QuestioningExclamation
    Return phrase + '?!'
  Case PhraseEmphasis.Cursing
    Return '!@#@%@#!'
  Case Else
    Return phrase
End Select
End Function

现在,在代码中我有一些设置_emphasisFromCode(显然)然后我想调用该函数。那么当我开始在那里的elipses上键入Speak(“HelloWorld”,...)时会发生什么,我不喜欢intellisense。在intellisense中弹出的唯一内容是所有枚举的列表。

现在我花了不成比例的时间来解释这个问题,关于我实际关心的程度。但是,我的机器今天编译速度非常慢。

答案

不,没有这样的设置。 Intellisense列出了枚举,以便您快速选择一个枚举。如果您有一个存储在变量中(或多个PhraseEmphasis类型的变量),它将不会搜索您的代码以匹配参数类型的变量以填充参数建议。

除此之外,唯一相关的设置是启用/禁用智能感知:

visual studio options

VB在Basic - > VB Specific下有其他选项,但对于你的建议仍然没有。

据我所知,我不认为CodeRush / Refactor! Pro或ReSharper(Visual Studio加载项)也提供此功能。

另一答案

不,没有这样的设置。当签名完全相反时,IntelliSense如何从您的方法签名中猜测您想要为该方法添加任意值?

相反,您可以声明另一个枚举成员(比如PhraseEmphasis.None = 0,无论如何都是推荐的最佳实践)并使用它,或者最终使用emphasis关键字声明optional参数,以避免完全提供它。

以上是关于Visual Studio 2008 intellisense用于枚举类型的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 Visual Studio 编写 intel 程序集?

使用 Visual Studio 测试 intel galileo 示例

Windows 下 Visual Studio 2012 / Intel 编译器的 C++ 双精度失败

从 Visual Studio 2008 升级到 Visual Studio 2010 速成版

将 C++ 项目从 Visual Studio 2008 转换为 Visual Studio 2010

无法再使用 Visual Studio 2008 连接到 Visual Studio Team Services