XML Documentation Navigation for C++ in Visual Studio (as in C#) - c++

There is XML Documentation support for Visual C++ with IntelliSense and all for some time now.
Navigation from XML documentation, peek help etc. does not work though. Coming from C#, I dearly miss those functionalities.
Is there a way to enable this in Visual Studio, maybe via a plugin?
To automatically create XML documentation templates, one can use CppXmlComments-Plugin.

Related

Visual Studio 2017 project template descriptions

There are a lot of project templates for Visual Studio. I am new enough to programming that the little blurb of a description given in the new project window just doesn't give me enough information. Is there a place (perhaps online) where you can see detailed descriptions of all the visual studio project templates, and when to use them?
The description of the project types is all over the place. You can find them all on MSDN when you search for them, but not in one place. Visual Studio is extensible and some projects are added by SQL Server, some are added by BizTalk, some are added by Xamarin and each of these is "optional" and may not be installed in your Visual Studio or not available in your edition. You'll find their descriptions in each of these documentation areas.
The best way to start is probably to figure out what you want to do, find that on the MSDN documentation and in the docs you'll find a number of tutorials on what kind of project type to create.

Attaching Documentation in Visual Studio (à la Eclipse)

I'm new to Visual Studio (2012) and having come from using Eclipse, I'm finding myself missing the ability to hover my mouse over a method and receive a dialogue detailing the parameters and any accompanying comments.
In this particular example, I'm using the OpenGL SDK with C++ in Visual Studio, and I would like to be able to quickly get at the documentation without having to jump between VS and http://www.opengl.org/sdk/docs/man/.
Is there a way that I can attach the documentation somehow so that I can view it from within Visual Studio itself without needing to manually search?
visual studio does provide the functionality you are looking for as a tooltip (instead of a dialogue) when you hover long enough (2-3 seconds). For this to work correctly and more usefully though, you'd need the functions to be documented properly in the code itself.
Check the following questions for more information on how intellisense tooltip works :
How to get full intellisense tooltip comments working?
Documenting C++/CLI library code for use from c# - best tools and practices?
By default though, intellisense will simply display the comment above the function declaration or deninition (which ever comment is larger, it seems). It takes a while longer when you hover first time over a function, so be patient and retry :)
you can type in the code 3 slash /// and visual studio automaticalli write a xml template for the documentation of the method/class/property.
next you can go in the project properties. Build tab, Output section, XML documentation file, and enter the filename. It will be built on every build of the project.
You could try NDOC or SandCastle if you dont mind using 3rd party tools.

How visual studio intellisense recognize functions and properties in classes even though there is no reflection in C++?

I want to list properties and functions present in c++ classes. Is that functionality already implemented in any library ? Does visual studio intellisense use any library ? Is that library available publicly from Microsoft?
Visual Studio parses your code, so that's how it knows. You would need to do the same.
The Visual C++ team maintains a blog that has had several very nice articles about how IntelliSense has worked in the past and how it will work in the future:
IntelliSense History, Part 1
IntelliSense, Part 2 (The Future)
Visual C++ Code Model
Rebuilding Intellisense
Visual C++ Code Model in Visual Studio 2010
Essentially they build their own 'reflection' database (the .ncb file in current and past version sof VS, using a compact SQL database starting with VS2010) by parsing the headers and other source files - using both custom parsers and parsing that's done with the cooperation of the compiler.
Apparently at least some of that information is available in the VCCodeModel and related interfaces that the Visual Studio extensibility model provides. I have no idea how well the extensibility model works or how easy it is to use.
They use a propriety format to store intellisense information (they are saved as NCB files). You can delete these files to force VS to recreate its intellisense database if things go wrong.
They then scan header files for class information as well as dependencies, then build the NCB file for future reference.
No, this library is not available for personal use.
Intellisense in C# is lots better than the one in C++
VS2010 will see C++ have the same intellisense features as C# currently enjoys.
I would imagine that Visual Studio uses the header files to provide Intellisense.

VS2008 Express Editions and Resources

I am wanting to add resources (such as an icon) into a WinAPI based program in VC++ 2008 EE and am struggling. As there is no resource editor bundled with the IDE, is it possible?
My Google searches all seem to related to C# or other managed environments.
Thanks all,
I'm afraid there is no resource editor with the Express Edition. (edit) I couldn't find a feature matrix on the official site, but Wikipedia says so, so it must be right;-)
You could look at 3rd party tools - a quick web search throws up ResEdit as a possible answer.
There used to be a matrix which would explicitely state that EE hasn't such a feature but I also can't find it anymore.
Unfortunately you can't edit *.rc files graphically with Visual Studio 2008 EE.
Only "Standard Edition" and higher have a native resource-editor bundled.
With the Express Edition you can only edit windows forms via WYSIWYG.
As Steve Haigh said, you can build such a file with ResEdit or any other text editor and just add this generated/written file to your project.
VC2008EE will be able to compile the *.rc-file, despite the lack of a graphical editor.

What Visual Studio 2008 productivity features are missing from C++ Express edition?

I'm using Visual Studio C++ 2008 Express to learn a native API for a new project. What I'm wondering is: what productivity features present in the full version that you take for granted are missing from Visual Studio Express? I'm not referring to large "paid" features like MFC support - I'm thinking of small features (sometimes provided by Add Ins) like "Copy File to Output Dir"
Also, it doesn't have to be specific to C++ edition - that's just the exact release I happen to be using.
Note: I'm an experienced Java programmer and I most frequently use IntelliJ IDEA (disclaimer: that's just for reference - I'm not looking to compare VS vs. IDEA).
EDIT: Revised to include Add Ins that enhance the experience.
The ability to use addins are sorely missed, for example Visual Assist, which is the productivity booster.
I was all like "oh, let me google that for you", but Microsoft made life difficult indeed. Seems that Wikipedia is our best source at this moment:
http://en.wikipedia.org/wiki/Microsoft_Visual_Studio_Express#Visual_C.2B.2B_Express
If you plan to develop a C/C++ WIN32 GUI application then the major component that is missing is the resource editor (i.e. the GUI builder tool).
The express version will still compile resource files, but you will have to create the resource files by hand or use a third party resource editor.