【问题标题】:How can I show C++ code documentation in Xcode 9.3?如何在 Xcode 9.3 中显示 C++ 代码文档?
【发布时间】:2018-10-14 23:16:44
【问题描述】:

我正在 Xcode 中开发基于 C++ 的软件,并且希望(至少)能够像为 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 完全一样。

这怎么可能?

当前输出如下所示:

【问题讨论】:

    标签: c++ xcode c++11 xcode9 code-documentation


    【解决方案1】:

    你不能。根据Apple's Xcode release notes,截至 Xcode 8.3

    第 3 方 docset 支持现已弃用,将不再支持 在 Xcode 的未来版本中支持。 (30584489)

    还有其他文档浏览器,例如 Dash,可让您安装自己的文档。但这并没有给你你所希望的。

    我已验证将 C++.docset 添加到 ~/Library/Developer/Shared/Documentation 中不起作用。 (可能是早期 Xcode 遗留的目录)事实上,完全删除该目录并不影响 Xcode 9.x 正确显示默认文档。

    【讨论】:

    • 这很可能是 OP 正在寻找的答案——Apple 真的只支持它“拥有”的语言(Objective-C 和 Swift)的文档,而对其他语言文档支持的功能请求应该是通过bugreporter.apple.com发送到 Xcode
    【解决方案2】:

    这是为您的自定义类。你可以像这样添加你的评论 - 在我这样做的标题中

     /**
         * 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 */
    

    【讨论】:

    • 感谢您的回答!也许它可能会被误解,但我正在搜索 C++ 代码本身的代码文档,而不是自定义类等。所以当我点击 std::string.empty() 时,它应该显示来自例如这里:en.cppreference.com/w/cpp/string/basic_string/empty
    【解决方案3】:

    我会赞成 Deb 的回答,但我也研究了一段时间。

    Markdown in Xcode 在 Xcode 9 中有些脆弱。

    它适用于函数声明:

    还有标注:

    文档 cmets 似乎适用于函数声明,但对于函数的代码行根本不起作用。

    【讨论】:

    • 感谢您的回答!也许它可能会被误解,但我正在搜索 C++ 代码本身的代码文档,而不是自定义类等。所以当我点击 std::string.empty() 时,它应该显示来自例如这里:en.cppreference.com/w/cpp/string/basic_string/empty
    猜你喜欢
    • 2010-11-26
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多