Как я могу показать документацию кода C ++ в Xcode 9.3? - PullRequest
0 голосов
/ 04 мая 2018

Я занимаюсь разработкой программного обеспечения на основе C ++ в XCode и хочу иметь (по крайней мере) такое же удобство для документации кода, как если бы я разрабатывал для Swift или objc.

Пример:

std::string myString("hello");
if (myString.empty()) {
    // do something
}

Если я хочу точно знать, что делает .empty(), я бы хотел нажать Option-Click на этой функции и получить наложение документации с информацией, например, из. http://en.cppreference.com/w/cpp/string/basic_string/empty, точно так же, как и для objc и Swift.

Как это возможно?

Токовый выход выглядит так: enter image description here

Ответы [ 3 ]

0 голосов
/ 07 мая 2018

Я опрошу ответ Деб, но я тоже немного подумала над этим.

Уценка в Xcode несколько хрупка в Xcode 9.

Работает для объявлений функций: Multiline comment

Singleline comment

А также для выносок: Callouts

Комментарии к документации, кажется, хорошо работают для объявлений функций, но совсем не работают для строк кода в функциях.

0 голосов
/ 09 мая 2018

Вы не можете. Согласно заметкам о выпуске Apple Xcode , по состоянию на Xcode 8.3

Поддержка сторонних документов уже устарела и больше не будет поддерживается в будущем выпуске Xcode. (30584489)

Существуют альтернативные браузеры документов, такие как Dash , которые позволяют устанавливать собственную документацию. Но это не дает вам того, на что вы надеетесь.

Я убедился, что добавление C ++. Docset в ~/Library/Developer/Shared/Documentation не работает. (вероятно, каталог, оставшийся от более раннего XCode) Фактически, удаление этого каталога полностью не влияет на XCode 9.x для правильного отображения документации по умолчанию.

0 голосов
/ 07 мая 2018

Это для вашего пользовательского класса. Вы можете добавить свой комментарий так - в шапке я делаю это

 /**
     * Method name: name
     * Description: returns name
     * Parameters: none
     */

вот образец, который я сделал -

#ifndef test_hpp
#define test_hpp

#include <iostream>
#include <string>

class myclass{
private:
    std::string name_;

public:

    myclass(std::string);
    /**
     * Method name: name
     * Description: returns name
     * Parameters: none
     */
    std::string name();
};

#endif /* test_hpp */

enter image description here

...