为什么属于某个类的函数没有在Visual C++中显示?

mia*_*ech 0 intellisense visual-studio-2010 visual-studio-express visual-studio visual-c++

我在Visual Studio 2010 Express中使用Visual C++,并且在过去我记得当你使用字符串对象并且在点之后(例如:) .所有成员函数将显示在列表中,但是这没有发生.

string myString = "hello world";
myString.
Run Code Online (Sandbox Code Playgroud)

键入点后,不显示属于字符串类的所有函数.Visual C++中的设置是什么使它们显示?

Cod*_*ray 5

您所引用的功能在Microsoft-speak中称为IntelliSense,它们是变量名称,函数和方法的自动完成版本.

Visual Studio 2010 for C++/CLI项目不支持IntelliSense.您只能获得用本机 C++代码编写的项目的IntelliSense .这是更详细的说明这里在Visual C++的团队博客.Microsoft Connect上还存在一个错误 ; 官方的说法是这样的:

感谢您的反馈意见.不幸的是,在这个版本中,由于时间限制,我们不得不削减对C++/CLI的intellisense支持.如果你想在本机类上获得一些intellisense,如快速信息和成员列表,你可以通过在项目属性中选择no/clr support来获得它.

谢谢!
Visual C++团队

对于我们许多使用C++/CLI项目的人来说,这是一个不幸的消息,我们没有多少选择.这里有一个关于这些选项的问题:在VS 2010中用什么人来替换丢失的C++/CLI Intellisense?总结是人们要么回到VS 2008
(我相信如果你环顾四周仍然可以下载2008年的Express版本),或者购买第三方软件,例如可以带回智能感知的Visual Assist X.

但值得一提的是,微软并不认为C++/CLI是一流的.NET语言.使用该语言开始新项目的原因很少(如果有的话).它专为本机C++和托管C#应用程序之间的互操作而设计.如果要编写C++,则应该以本机Windows API为目标(在VS中创建一个新的Win32项目).如果要编写托管的.NET代码,强烈建议您使用C#(这是必须单独下载的不同版本的Express).C++和C#之间的语法非常相似,但您仍然需要学习.NET Framework和习语.本机C++项目和托管C#项目在Visual Studio 2010中都有很大改进的 IntelliSense支持,因此您可以保证对其中任何一种更加满意.