Как заставить комментарии всплывающей подсказки работать? - PullRequest
5 голосов
/ 10 марта 2010

У меня есть какое-то программное обеспечение на C ++ / CLI, которое хорошо написано и документировано на языке C #, что означает, что DOxygen может превратить его в какой-нибудь красивый HTML.Есть ли способ, как я могу получить ту же информацию, чтобы она появлялась в инструменте intellisense, так же, как это делает платформа .net?

Например, допустим, это мой заголовочный файл (MyApp.h):

    /*************** MyApp.h ***************/

    /// My namespace containing all my funky classes
    namespace MyNamespace
    {
            using namespace System;

            ref class WorldHunger;

            /// A truly elegent class which solves all the worlds problems
            public ref class MyClass
            {
            public:
                    /// Constructs a MyClass
                    MyClass()
                    {

                    }


                    /// <summary>Attempts to fix world hunger</summary>
                    /// <param name="problem">The problem to try and fix</param>
                    /// <returns>Whether or not the problem was solved</param>
                    bool FixWorldHunger( WorldHunger^ problem );
            };
    }

... и это соответствующая реализация:

    /*************** MyApp.cpp ***************/

    #include "MyApp.h"

    using namespace MyNamespace;

    MyClass::MyClass()
    {

    }

    bool MyClass::FixWorldHunger( WorldHunger^ problem )
    {
            bool result = false;

            /// TODO: implement something clever

            return result;
    }

Вот что делает intellisense для встроенных функций, когда я набираю: http://www.geekops.co.uk/photos/0000-00-02%20%28Forum%20images%29/BrokenIntellisense1.jpg

Вот чтоintellisense делает для моих собственных функций, когда я набираю: http://www.geekops.co.uk/photos/0000-00-02%20%28Forum%20images%29/BrokenIntellisense2.jpg

Конечно, есть способ сделать это?

1 Ответ

7 голосов
/ 22 марта 2010

Просто подведу итог, чтобы это работало, вам нужны ваши комментарии в совместимой форме:

/// <summary>
/// Retrieves the widget at the specified index
/// </summary>
/// <param name="widgetIndex">Index of the widget to retrieve.</param>
/// <returns>The widget at the specified index</returns>
Widget* GetWidget(int widgetIndex);

Затем просто щелкните правой кнопкой мыши проект в Visual Studio и перейдите на properties > configuration properties > C/C++ > Output Files и измените Generate XML Documentation Files на Yes.

Когда вы перестраиваете объявление проекта, импортируете его куда-то еще, вы должны увидеть полностью документированные всплывающие подсказки.

...