Swift中使用“Markdown”来标注代码注释

在 Xcode 7 的所有功能中,有一个很特别:它给编写代码文档提供了一个更好的方法。随着 Xcode 7 的更新,开发者可以使用 Markdown 语法书写富文本格式的代码文档,而且可以结合特定的关键词来指明特殊部分(如参数,函数返回结果等)。
同时作为伴随swift3发布的api设计指南要求,为swift代码编写Markdown注释已经从一种道义上升为一种行为准则了。

Markdown的优点


  • 纯文本,自定义程度更高,所以兼容性极强,可以用所有文本编辑器打开。
  • 让你专注于文字而不是排版。
  • 格式转换方便,更加灵活,Markdown 的文本你可以轻松转换为 html、电子书等。
  • Markdown 的标记语法有极好的可读性。

Markdown 基础语法


以下列出了最常用的 Markdown 语法:

  • #text#:文本标题,相当于 HTML 中的 <H1> 标签。两个 # 则对应 <H2> 标签,以此类推,直到 <h6> 标签。末尾的 # 可以省略。同理,你还可以增加二级标题、三级标题、四级标题、五级标题和六级标题,总共六级,只需要增加 # 即可,标题字号相应降低。
  • **text**:使文本具有加粗的效果。
  • *text*:使文本具有斜体的效果。
  • * text:使文本成为一个无序列表的元素,值得注意的是,有个 * 后面需要有一个空格。同样,可以使用 + 或 - 实现这个的功能。
    1. text:使文本成为一个有序列表的元素。
  • [linked text](http://some-url.com):使文本成为可以点击的超链接。
  • > text:创建一个块引用。
  • 使用 4 个空格或 1 个 tab 来缩进所写的代码块,等价于 HTML 中的 <pre></pre> 标签。可以继续使用 4 个空格或 1 个 tab 来添加另一个缩进。如果不想使用空格或 tab 的话,可以使用 ` 。比如, `var myProperty` 会显示成var myProperty。创建多行代码块的方法是将```置于这段代码的首行和末行。
  • 反斜杠修饰 Markdown 的特殊字符就可以避免 Markdown 语法的解析了。比如, **this** 就不会产生加粗的效果。
  • 在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。

以上这些是 Markdown 语法中比较重要的部分。虽然,Markdown 语法中还有很多额外的细节可以深究。但是,以上提供的这些已经足够你开始使用 Markdown 了。

关于编辑器:你可以尝试以下这些 Markdown 编辑器:StackEditTyporaMacdownFocusedUlysses

使用 Markdown


在swift中,代码区域和playground的Markdown注释是不一样的,为了更好的切换Markdown的效果,我们先设置下快捷键,在Key Binding中输入show rendered markup,在key中设置快捷键option+M,后面就可以通过此快捷键切换Markdown的渲染效果了。

show rendered markup

在编写任何 Swift 中实体的文档时,有些规则是一定要遵守的。你可以为属性(变量和常量)、方法、函数、类、结构体、枚举、协议、扩展和其他代码结构或实体编写代码文档。针对实体的每个文档块都要写在定义或头文件前面,在代码里单行注释用///,多行注释如下:

/**

*/

虽然 // 也被视为注释,但是这种语法会被 Xcode 忽略,而不产生对应的代码文档。你可以在各种代码块中使用 // 来注释,但这并不会产生对应的代码文档。
举个例子看看实际的效果,如下:demo被加粗

/// A **demo** function
    func demo(){}

查看效果有两种方式:
1、将光标放在demo上,快捷键option+command+2,在右侧就可以看到效果
2、按住option,点击demo,在弹出框中可以查看效果

效果1
效果2

再看看多行注释的效果:

    /**
     * item1
     * item2
     * item3
     */
    func listdemo1(){}
    
    /**
      * item1
      * item2
      * item3
     */
    func listdemo2(){}
    
    /**
     a  listdemo function
     * item1
     * item2
     * item3
     */
    
    func listdemo3(){}
listdemo1

listdemo2
listdemo3

仔细看看这个注释有啥区别:在列表形式中,单独的列表形式不会显现效果,要想显示列表,在每一行加一个空格,或者不要让列表在第一行在上端加一个换行或说明。

而在playground中单行注释用//:的形式,多行注释用/*:*/的形式

//: [Next](@next)

/*:
 * item1
 * item2
 * item3
 */
option+M显示效果

一般情况下,有常用的注释范式

/**
 ## Important Notes: something important you want to mention:(一个简短的标题)
 a general description here(一段内容摘要)
(一个注意列表)
 1. item1
 2. item2
 3. item3
 ***(一个分隔,用来区分正文和参考内容)
 [more](https://www.baidu.com/)(一个提供更多内容的链接)
 */
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,588评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,456评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,146评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,387评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,481评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,510评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,522评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,296评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,745评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,039评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,202评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,901评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,538评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,165评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,415评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,081评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,085评论 2 352

推荐阅读更多精彩内容