LLVM对注释的新增支持 @ WWDC 2013
很久之前我就在想:“我应该按照什么格式写注释,才能像Apple官方API那样按住Option键并点击函数名可以跳出文档说明”,如下图:
我理所当然地认为这个功能应该是根据现有注释的格式来进行排版的,于是按住Command键点进去想学习下,结果大失所望:
按照这个很基本、很普通的格式来写注释,是得不到期望的结果的。所幸在今年WWDC的Session 402中提到相关支持——What's New in the LLVM Compiler:
通过如上格式的注释,我们可以通过Option加上点击得到Quick Help:
此外,还可以在代码自动完成时看到相应注释:
方便在细节之处,有木有!?当函数名很长、只有最后一两个参数不同的时候(看不到完整函数名),再也不用瞎猜了。
这下让程序员们更有动力去编写更优美的注释了,但如果每次都手工添加上面那么多、又注重格式的注释,显然有点得不偿失。刚好Session 402的PDF文档里面(往上数第二张图)提到了Doxygen这款工具。
在网上搜索了下,参考了两篇文章(链接一、链接二)。通过下载写好的Doxygen Helper,解压后双击安装到Service:
然后在键盘设置中为Xcode添加相应的快捷键:
接着打开Xcode 5,如果快捷键无效,可以再往下看:
在服务里开启相应功能,如果需要可以重启下Xcode,就可以使用快捷键来创建注释了:
显然,新的LLVM在做词法分析时还是支持了比较经典的几种注释格式的。赞一个!
到此,LLVM已经在代码的可维护性和可读性上为我们提供了更多便利。考虑到使用了Doxygen,并且有提供类似SDK基础服务的话,可以参考这篇文章,利用Doxygen将自动生成的注释文档化:
—— Jason Lee @ Hangzhou
LLVM对注释的新增支持 @ WWDC 2013的更多相关文章
- LLVM在静态分析上的增强 @ WWDC 2013
在代码还没有真正跑起来的时候,可以利用Clang对代码进行静态分析. 1. 可以应用快捷键Shift+Command+B对项目代码进行分析: 2. 也可以针对某个文件进行分析(现有版本貌似不能针对特定 ...
- WWDC 2013 Session笔记 - iOS7中的多任务
这是我的WWDC2013系列笔记中的一篇,完整的笔记列表请参看这篇总览.本文仅作为个人记录使用,也欢迎在许可协议范围内转载或使用,但是还烦请保留原文链接,谢谢您的理解合作.如果您觉得本站对您能有帮助, ...
- [ios-必看] WWDC 2013 Session笔记 - iOS7中的多任务【转】
感谢:http://onevcat.com/2013/08/ios7-background-multitask/ http://www.objc.io/issue-5/multitasking.htm ...
- fabric-sdk-container v1.0-beta 新增支持多服务节点
HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...
- Tapdata Cloud 2.1.5来啦:新增支持Amazon RDS数据库,错误日志查询更便捷,Agent部署细节再优化
需求持续更新,优化一刻不停--Tapdata Cloud 2.1.5 来啦! 最新发布的版本中,数据连接再上新,同时新增任务报错相关信息快速查询入口,开始支持 JVM 参数自定义设置. 更 ...
- Tapdata Cloud 2.1.2 来啦:大波细节已就绪!字段类型可批量修改、支持微信扫码登录、新增支持 Vika 为目标
Tapdata Cloud cloud.tapdata.net 让数据实时可用 Tapdata Cloud 是国内首家异构数据库实时同步云平台,目前支持 Oracle.MySQL.PG.SQL Ser ...
- 可在广域网部署运行的QQ高仿版 -- GG2014 完美版!新增支持:聊天记录、好友分组、托盘闪动消息提醒、登录状态、GIF动态表情
距上次GG V3.7版本(可在广域网部署运行的QQ高仿版 -- GG叽叽V3.7,优化视频聊天.控制更多相关细节)的发布,已经有50天了,这50天对于GG来说,是一个重大的飞跃.因为这段时间通过一些基 ...
- 状态机编程思想(2):删除代码注释(目前支持C/C++和Java)
有时为了信息保密或是单纯阅读代码,我们常常需要删除注释. 之前考虑过正则表达式,但是感觉实现起来相当麻烦.而状态机可以把多种情况归为一类状态再行分解,大大简化问题.本文就是基于状态机实现的. 删除C/ ...
- SQL Server--------SQL Server常用(查看注释,新增注释,生成实体,查看表结构信息,case when...)
--新增字段: ALTER TABLE line_info ADD line_remark NVARCHAR(MAX) DEFAULT '' EXECUTE sp_addextendedproper ...
随机推荐
- 你不知的IE的bug及其解决方案
E令人咬牙切齿的bug不胜枚举,其中IE6更是臭名昭著,令人发指.这里总结出IE下最为严重的5个bug,及其应对方案. 1.IE6下无法显示png格式的透明信息 这个bug是众多网页设计师的噩梦,虽然 ...
- 文本框Edit
支持换行就要把 Multiline 设置为TRUE Edit窗口是用来接收用户输入最常用的一个控件.创建一个输入窗口可以使用成员函数: BOOL CEdit::Create( LPCTSTR lpsz ...
- MySQL触发器之审计功能(转)
[导读] 最近ITPUB技术论坛特意组织网络性讨论活动,关于数据库审计的话题,分享各自公司如何实现数据库审计.个人经验和构想,以及数据库审计的技巧,刚好有网友发了一个典型的审计需求,要帮他分析,以及教 ...
- hibernate3 无法查询中文问题
在查询中文时 hql语句在生成的语句中把中文显示为乱码 则在hibernate配置文件中加入: <property name="hibernate.query.factory_cla ...
- c++ 高效文本读写
上数据结构课,做project,数据老师要求我们多做测试,而文本文件可以有效记录这些东东,这样我想起了文件的读写,下面是渣渣我个人的一些想法,大神们看见有错的,尽管指出(orz~~~囧,木有人看我的呀 ...
- c语言判断用户是否输入-非阻塞函数kbhit
一.基础研究 要从地址读取数据,肯定是要定义一个指针变量p,用它来实现变换地址和取值的功能.另外程序是当两个条件中的某一个出现时才停止,所以应该用while~do循环语句循环输出n和d,并用while ...
- KesionCMS V6.5后台拿SHELL方法
Title:KesionCMS V6.5后台拿SHELL方法 --2011-03-29 00:21 最近弄一个站点,是KesionCMS V6.5的WEB系统,试了下后台拿webshell方法,记下 ...
- SQLiteDatabase中的事务
beginTransaction():开始事务endTransaction():结束事务SQLiteDatabase还提供了如下方法来判断当前上下文是否处于事物环境中.inTransaction(): ...
- MFC关于VS内存释放的定位
全部在App中完成 1.在 App.h 头文件声明 #ifdef _DEBUGprotected: CMemoryState m_msOld, m_msNew, m_msDiff;#endi ...
- TCP 协议
== 已经了解了以太网和IP了,下面我们进入传输层,开始讲解TCP协议. == 仍然先把TCP报文段的格式放在这里,然后我们看图说话: TCP报文段也分为首部和数据两部分,首部默认情况下一般是20字节 ...