如何在c ++ / cli项目中启用intellisense?

时间:2010-07-07 14:14:08

标签: visual-studio-2008 c++-cli intellisense mixed-mode

我正在使用visual studio 2008,我有一个加载托管c ++ dll的原生c ++项目,但在最后一个版本中,intellisense不再仅适用于托管代码。

这个项目(dll)有一个混合代码(本机和托管),如果我在一个简洁的行上只写“::”,那么intellisense给我的方法继承自基类,比如常规,而不是托管代码,例如

array <String^>^ ContactListToChat; 

我需要帮助,否则我必须盲目飞行。

1 个答案:

答案 0 :(得分:1)

取自msdn博客,解释intellisense的历史:http://blogs.msdn.com/b/vcblog/archive/2008/02/29/intellisense-part-2-the-future.aspx

  

我们已经从快速而不是非常准确地转移到有时快速且在Visual Studio 2008中最准确...我们大多数都是准确的,除了我们只捕获一个头文件的解析,即使它可以根据不同的方式进行解析包含它的.cpp(即不同的#defines,编译选项等)。

这是他的解释,为什么有时intellisense工作出色,为什么其他时候完全失明。

您应该查看问题中提出的一些建议:How to get IntelliSense to reliably work in Visual Studio 2008

听起来最有可能帮助的是Jogn Richardson的回应。

  

1)未正确设置头文件路径。当您找到intellisense不起作用的类型时,使用IDE单击每个头文件以查找包含该类型的头文件。 (右键单击#include并选择Open Document ...)。如果在到达声明类型的文件之前失败,那么这就是你的问题。确保头文件搜索路径设置正确。

     

2)intellisense数据库已损坏。这事儿常常发生。您需要关闭解决方案,删除.ncb文件,然后重新打开解决方案。我在这里回答了另一个问题,发布了我用于此的宏。