我刚从 Visual Studio 2008 升级到 Visual Studio 2010 (最终版本),发现一个主要问题:
当我尝试在托管 C++ 源文件中使用自动完成时,页脚中会出现一个小提示:
C++/CLI 的 IntelliSense 不可用
哦,是不是 Visual Studio 2010 中已经取消了 C++/CLI 的 IntelliSense? 有什么办法可以让它重新生效吗?它确实非常有用...
我刚从 Visual Studio 2008 升级到 Visual Studio 2010 (最终版本),发现一个主要问题:
当我尝试在托管 C++ 源文件中使用自动完成时,页脚中会出现一个小提示:
C++/CLI 的 IntelliSense 不可用
哦,是不是 Visual Studio 2010 中已经取消了 C++/CLI 的 IntelliSense? 有什么办法可以让它重新生效吗?它确实非常有用...
你说得对。不幸的是,这个功能已经被取消了。你可以在Microsoft Connect 网站上查看该问题。
我会为了回答这个问题而引用他们的话:
不幸的是,在这个版本中,由于时间限制,我们不得不放弃对C++/CLI的IntelliSense支持。如果你想要获得一些类似于快速信息和成员列表的IntelliSense,你可以在项目属性中选择不使用/clr支持。
关于如何恢复IntelliSense,目前最好的机会是使用第三方工具,例如VA Assist等。我曾试用它与Visual Studio 2008一起使用,它的IntelliSense比默认的好多了。
在Visual Studio 2012中,这个功能又可用了。
我不知道你是否可以使用这个设置,但它对我有效。我只为使用它的cpp文件勾选了“通用语言运行时支持”。我没有为整个项目勾选它,但我在所有不使用CLI的文件中都有智能感知。
是的!您可以启用IntelliSense,但需要一些技巧。请按照以下说明操作:
现在IntelliSense正在工作。但是编译代码时会出现一个错误!(错误为:error LNK1123: failure during conversion to COFF: file invalid or corrupt)
您可以简单地返回项目属性,并将“公共语言运行时支持”更改为“公共语言运行时支持,旧语法 (/clr:oldSyntax)”。
祝您好运。
这个解决方案仅适用于您不需要公共语言运行时
在VS2010中,它对我有效
转到项目属性 > 配置属性 > 常规 > 公共语言运行时支持并将其设置为不支持公共语言运行时。
只需点击应用按钮后即可正常工作。
如上所述,您可以安装一些付费软件,例如“Whole Tomato Software”的“Visual Assist X”。
或者
您可以使用包含智能感知*的开源工具,其中一个工具是Qt Creator 3.3.1(开源)。您有两个选择,要么使用Qt设置整个项目以使用VS2010编译器进行编译,要么使用Qt链接到您的源文件并使用VS2010进行编译。您在Qt中编写代码,保存后,切换到Windows上的vs2010进行编译和调试。
当在Qt中保存更改时,vs2010会自动重新加载项目中的源文件,然后您就可以进行编译了。