一、引子
在寫代碼的時候,尤爲是寫腳本,最須要註釋了。javascript
DocBlockr is a package for Sublime Text 2 & 3 which makes writing documentation a breeze. DocBlockr supports JavaScript (including ES6), PHP, ActionScript, Haxe, CoffeeScript, TypeScript, Java, Apex, Groovy, Objective C, C, C++ and Rust.html
目前腳本、樣式的註釋格式都有一個已經成文的約定規範(這些約定規範最初是YUI Compressor制定的,詳見參考資料)了,以下:java
- /**
- * 這裏的註釋內容【會】被壓縮工具壓縮
- */
- /*!
- * 這裏的註釋內容【不會】被壓縮工具壓縮
- * 與上面一個註釋塊不一樣的是,第2個*換成了!
- */
其中說到這裏說到的壓縮工具備YUI Compressor 、Google Closure Compiler、gulp-uglify、grunt-contrib-uglify等,這些壓縮工具都支持以上的壓縮約定。經常把文件的關鍵信息放在第2種註釋內容裏,如文件名稱、版本號、做者等。git
關於這些關鍵信息,都有一些關鍵詞和必定的格式來書寫。關鍵詞書寫格式爲:github
- /**
- * @author ydr.me
- * @version 1.0
- */
使用@key desc
格式來書寫,經常使用的關鍵詞有:gulp
關鍵詞 | 描述 |
---|---|
@author |
做者 |
@param |
參數 |
@example |
例子 |
@link |
連接 |
@namespace |
命名空間 |
@requires |
依賴 |
@return |
返回值 |
@version |
版本號 |
其中,param關鍵詞的格式爲:sublime-text
- /**
- * @param {String} 參數描述
- */
二、插件
使用package control安裝DocBlockr。安裝完成後使用方法以下:app
A、先寫完你的函數curl
- function testFunction(a, b, c) {
- }
B、而後在函數的前面一行,輸入sublime-text-3
- /**
C、而後回車,自動生成
- /**
- * [testFunction description]
- * @param {[type]} a [description]
- * @param {[type]} b [description]
- * @param {[type]} c [description]
- * @return {[type]} [description]
- */
- function testFunction(a, b, c) {
- }
D、而且在註釋塊中,按@
鍵能夠展開關鍵詞:
Basic variable substitution is supported here for the variables date
and datetime
, wrapped in double curly brackets.
// jsdocs_extra_tags = ['@date {{date}}', '@anotherdate {{datetime}}']
/**<<enter>>
function foo() {}
/**
* [foo description]
* @date 2013-03-25
* @datetime 2013-03-25T21:16:25+0100
* @return {[type]}
*/
默認的補全代碼卻沒有做者,時間等信息,解決方法,參考逛網,打開Sublime,並安裝DocBlockr插件
打開Preferences -> Package Settings -> DocBlockr->Settings - User 並新建一個User配置文件,也能夠直接將配置文件保存到"Default Settins"
將下面的代碼保存到新建的User配置文件中.,若是是保存在「Default Settins」裏則須要將覆蓋默認的配置(不建議在默認的配置中進行更改)
{
"jsdocs_extra_tags":["@Author Author","@DateTime {{datetime}}"]
}
三、參考資料
- YUI Compressor註釋規範:http://yui.github.io/yuidoc/syntax/
- JSDOC:http://usejsdoc.org/
- https://packagecontrol.io/packages/DocBlockr