【问题标题】:How to include Doxygen method description in Xcode's autocomplete popup?如何在 Xcode 的自动完成弹出窗口中包含 Doxygen 方法描述?
【发布时间】:2013-08-19 23:19:58
【问题描述】:

使用 Xcode ,我希望在自动完成选项下方有我的方法的 Doxygen 描述,例如 alloc:

编写时,Xcode 使用文档中的 cmets 显示自动完成。例如,您可以在图片中看到,当从选项中选择 alloc 时,它会显示“返回接收类的新实例”并且还链接到文档。

例如,我已经能够使用 Doxygen 记录我的源代码

/** 
 This does nothing
*/
 -(void) doNothing
{
    // This does nothing
}

我在 Doxygen 生成的 HTML 文件中得到了预期的结果,但我不知道如何使这些结果在 Xcode 中显示为建议。

【问题讨论】:

  • XDACTED 5 之前的自动完成弹出窗口中的文档被硬编码到 IDE 中,因为 CLANG 5 是第一个为这些内容引入解析器的。
  • @CodaFi 这是否意味着我无法完成自定义方法的弹出框?
  • 不,不是没有 IDEKit 中的一些严重黑客攻击。
  • 现在可以使用 Xcode 5 完成。请参阅下面的答案。我最喜欢的 Xcode 5 新功能之一

标签: objective-c xcode autocomplete doxygen


【解决方案1】:

大家好消息! Xcode 5 现在内置了对 DOxygen 样式 cmets 的支持。因此,您可以像这样评论您的方法:

/*!
 * Provides an NSManagedObjectContext singleton appropriate for use on the main 
 * thread. If the context doesn't already exist it is created and bound to the 
 * persistent store coordinator for the application, otherwise the existing 
 * singleton contextis returned.
 * \param someParameter You can even add parameters
 * \returns The a shared NSManagedObjectContext for the application.
 */
+ (NSManagedObjectContext *)sharedContext;


内联帮助将如下所示:





快速帮助如下所示:





侧边栏帮助将如下所示:

这是一个方便的代码 sn-p,您可以添加 Xcode 代码片段库以简化方法文档:

/**
 <#description#>
 @param <#parameter#>
 @returns <#retval#>
 @exception <#throws#>
 */

现在,您只需输入“doxy”就可以了!你有你的 doxygen 模板。

【讨论】:

  • @reecon 将其复制/粘贴到您的代码视图中,突出显示它并拖放到代码 sn-p 区域。
  • 我在 xcode 5 中看不到“Doxygen 方法文档”模板。有什么线索吗?
  • @aqavi_paracha 没有这样的默认模板,这是用户创建的。
  • 感谢您对&lt;#...#&gt; 的关注。我今天学到了新东西。
【解决方案2】:

我发现比用于 Doxygen/Javadoc 样式 cmets 的代码 sn-p 更好的是使用 VVDocumenter-Xcode Plugin 这太棒了!安装后,您只需在要注释的任何代码上方键入“///”,它将获取参数并返回并添加占位符以完成您的注释块。

【讨论】:

    【解决方案3】:

    我能够使用 Appledocs 实现我想要的,尽管我在安装和设置方面做了一些努力...

    1. 打开 xCode 并转到 xCode> 首选项 > 下载并下载“命令行工具”以防万一。
    2. 打开终端输入

      git clone git://github.com/tomaz/appledoc.git
      
    3. 完成后转到 appledoc 文件夹,输入

      cd appledoc
      

      并使用以下命令将 appledoc 安装到您的 usr/local/bin 文件夹中:

      sudo sh install-appledoc.sh 
      
    4. 打开任意一个 xCode 项目并进入左侧的包资源管理器,然后单击您的主项目文件(目标数量和 sdk 版本详述如下)

    5. 在构建设置选项卡中,在下方查找“+添加目标”按钮并将其打开

    6. 选择“聚合”模板(确保根据您的项目选择 iOS 或 macosx,并将其命名为“文档”

    7. 选择文档,转到构建阶段选项卡,然后单击下方的“添加构建阶段”并选择添加运行脚本。

    8. 将以下代码复制并粘贴到“运行脚本”字段中:

      #appledoc Xcode script
      # Start constants
      company="ACME";
      companyID="com.ACME";
      companyURL="http://ACME.com";
      #target="iphoneos";
      target="macosx";
      outputPath="~/help";
      # End constants
      /usr/local/bin/appledoc \
      --project-name "${PROJECT_NAME}" \
      --project-company "${company}" \
      --company-id "${companyID}" \
      --docset-atom-filename "${company}.atom" \
      --docset-feed-url "${companyURL}/${company}/%DOCSETATOMFILENAME" \
      --docset-package-url "${companyURL}/${company}/%DOCSETPACKAGEFILENAME" \
      --docset-fallback-url "${companyURL}/${company}" \
      --output "${outputPath}" \
      --publish-docset \
      --docset-platform-family "${target}" \
      --logformat xcode \
      --keep-intermediate-files \
      --no-repeat-first-par \
      --no-warn-invalid-crossref \
      --exit-threshold 2 \
      "${PROJECT_DIR}"
      
    9. 在起始常量中,您可以替换名称等,同时确保使用正确的目标(iOS 或 macosx)

    10. 最后,转到产品 > 方案 > 编辑方案 > 构建选项卡并添加您的“文档”目标,确保选中每个框。这样,每次构建代码时,您的文档都会更新。

    就是这样,您可以开始编写代码了。 请注意,尽管每次构建时文档都会更新,但弹出框建议在您重新启动 Xcode 之前不会更新。 有关正确的文档技术,请阅读this article

    【讨论】:

      猜你喜欢
      • 2011-12-03
      • 2022-01-19
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-01
      相关资源
      最近更新 更多