为什么Intellisense“不适用于C ++ / CLI”?

时间:2011-02-22 11:43:09

标签: visual-studio visual-studio-2010 visual-c++ c++-cli intellisense

  

可能重复:
  No IntelliSense for c++/cli in visual studio 2010?

正如标题已经说明的那样,没有弹出任何内容或检查语法。在状态栏中,将显示以下消息。

  

智能感知'不适用于C ++ / CLI'

通常我在Visual C ++ 2010 Express中使用本机C ++。

在Visual C ++ 2008中,Intellisense正在为C ++ / CLI正常工作,所以我想它也应该适用于这个版本。

2 个答案:

答案 0 :(得分:17)

C ++ IDE中的IntelliSense解析器应该进行大修,它的慢性问题在每次发布时都没有好转。 .ncb文件随机损坏,IS数据库猖獗。对于VS2010,它是完全重写,一个新的解析器和一种存储结果的新方法。现在是一个.sdf文件,一个SQL Compact数据库。解析器是由Edison Design Group编写的,他们是唯一一个编写完全实现该标准的C ++解析器的人。

可悲的是,他们没有资源给C ++ / CLI提供相同的处理。这项工作推迟了,它肯定不会用于SP1。连接反馈报告is here,只有24票。投下你的投票。

编辑:这在VS2012中得到了解决,它再次支持用于C ++ / CLI的IntelliSense。和C ++ / CX一样,支持WinRT的语言扩展,其语法与C ++ / CLI非常相似,可能是完成这项工作的灵感。

答案 1 :(得分:3)

来自http://connect.microsoft.com/VisualStudio/feedback/details/459187/intellisense-unavailable-for-c-cli

您好,

作为发明C ++ / CLI的团队,我们坚信它是与托管代码交互的最佳方式之一(无论是公开本地对象还是使用托管代码)。

我想明确指出,虽然我们无法解决这个问题,但由于时间和资源限制,我们减少了对C ++ / CLI的支持。这并不表示我们正在远离技术。您仍然可以在类视图中查看托管类,搜索符号,获取定义/声明,Winforms设计器和单元测试功能继续有效。

不幸的是,为我们新的Intellisense解析器添加对C ++ / CLI语义的完全支持需要很长时间,我们希望在此期间将其交付给本机开发人员。很抱歉,我们无法在一个版本中完成所有操作,我们最终打算将此支持带入Intellisense引擎。

谢谢,

Boris Jabes

Visual C ++团队