问题
I am using visual studio 2008 and I have a native c++ project that loads a managed c++ dll, but on the last one, the intellisense doesn't work anymore only for the managed code.
This project (dll) has a mixed code (native and managed) and if I write only "::" on a clean line, the intellisense gives me the methods inherits from the base class, like regular, not for the managed code, for example
array <String^>^ ContactListToChat;
I need help, otherwise I´ll have to fly blind.
回答1:
Taken from an msdn blog explaining the history of intellisense: http://blogs.msdn.com/b/vcblog/archive/2008/02/29/intellisense-part-2-the-future.aspx
We have moved from fast and not very accurate to sometimes fast and mostly accurate in Visual Studio 2008... We are mostly accurate except that we only capture one parse of a header file even though it could be parsed differently depending on the .cpp that includes it (i.e. different #defines, compile options, etc).
This is his explanation as to why sometimes intellisense works brilliantly and why other times it is completely blind.
You should look at some of the suggestions posed in the question: How to get IntelliSense to reliably work in Visual Studio 2008
The one that sounds the most likely to help is Jogn Richardson's response.
1) Header file paths are not set-up correctly. When you find a type where intellisense is not working, use the IDE to click through each header file to find the one containing the type. (Right click on #include and select Open Document...). If this fails before you get to the file which declares the type then this is your problem. Make sure header file search paths are set-up correctly.
2) The intellisense database is corrupt. This happens ALL The time. You need to close the solution, delete the .ncb file, and then reopen the solution. I posted the macro I use for this in answer to another question here.
来源:https://stackoverflow.com/questions/3195590/how-can-i-enable-the-intellisense-on-my-c-cli-project