views:

319

answers:

2

Is there any way to get Intellisense in Visual C++ for Visual Studio 2005?

I'm trying to get the Boost libraries to load up with intellisense and in the object browser/class view.

I installed the binary for Windows with the BoostPro installer (BoostPro 1.40.0 Installer).

I'm not certain that it comes with the source code however, which may be required to make Intellisense work in VS2005.

+6  A: 

Boost is open source, and mostly header only. Just make sure IntelliSense knows the directory where boost resides so it can explore it.

As an un-answer, you might try out Visual Assist X, which works far better and has more features that Visual Studio's IS.

To make sure Intellisense can find boost, just make sure Boost is in the include directories (under Project Properties->C/C++->Additional Include Directories). Maybe move it to the top. After that, close your instance of Visual Studio, and search the a *.ncb file near your project, and delete it. This will cause IntelliSense to refresh. This should hopefully be enough for it to assist you. (You have to include boost headers into your source files with #include for IntelliSense to consider it)

Keep in mind boost has some very complex parts that IS will choke on, but should still provide the names.

GMan
wholetomato.com?
leeand00
That's the Visual Assist website.
GMan
+1 for Visual Assist X - awesome helpful tool
Mordachai
Um...*ahem* how do you tell IntelliSense where the source resides?(Sorry, I'm new at this Visual Studio stuff) :-p
leeand00
(additionally I think there's little chance that our company will Purchase that Visual Assist X thing...I'm pretty low on the ladder as it were ;) )
leeand00
Visual Assist X is great. It costs too much for a small team.
i_like_caffeine
I would recommend _against_ placing your copy of Boost into the global VC++ Directories list, for two reasons: it makes it difficult to use different versions of Boost on different projects (which you may need to do) and the global VC++ Directories list has been removed in Visual Studio 2010 (cf. http://blogs.msdn.com/vsproject/archive/2009/07/07/vc-directories.aspx). You should add the Boost include directory to your project's "Additional Include Directories" property. As far as Intellisense is concerned, it should scan headers found through both the global and project settings.
James McNellis
I've changed my answer to reflect that. I didn't know VS2010 removed that. If you don't mind me asking, how does it deal with things that *are* generally global, like `windows.h`?
GMan
There is a property sheet packaged with Visual Studio 2010 that is added to C++ projects when they are created (or migrated from an older version, I suppose) that sets what has been in the VC++ Directories list.
James McNellis
@GMan Sweeet! That did the trick! Thank's GMan!
leeand00
Failed to persuade my boss to spend money on VAX, and deleting .ncb file didn't work too, anyway to deal with it?
zeroboo
@zeroboo: I'm not sure, I use VAX and when I can't deleting the ncb works. I don't know what to do after. :(
GMan
A: 

Intellisense scans the headers #included in source files in Visual C++ projects.

So create a project with a single source file that includes the top level header of the boost library that you're interested in. Some of the boost code can't be parsed by intellisense though, and the boost code contains a lot of code to workaround language or compiler limitations that's just noise to someone wanting to see the user facing structure of the libraries.

Joe Gauterin
*sigh* okay so what's a good source of documentation for version 1.40.0 of boost? The filesystem stuff really seems incomplete to me in every place that I've looked (i.e. the boost website, and the pdfs that are the documentation).
leeand00
I'm afraid that the documentation of some boost libraries is patchy - I've never looked at the filesystem docs though.If you have a specific question, the boost user mailing list is a good place to ask.
Joe Gauterin

related questions