好用的VSCode頭部注釋插件Fileheader?Pro
動(dòng)機(jī)
有時(shí)候需要在代碼頭部添加像這樣的一段注釋。這段注釋包括了作者、代碼版權(quán)許可等信息。每次重復(fù)添加都會(huì)讓您覺(jué)得非常麻煩。作為開發(fā)者的您,時(shí)間是自然非常。那么這個(gè)插件,就是為這個(gè)場(chǎng)景而生,替你無(wú)感地默默做完這件事。如果您想要在代碼頭部添加一些類似這樣的ASCII Art。它也能滿足您的需求。
/* * @Author: IronLu233 * @Date: 2021-03-10 12:00:00 * Copyright ? 你的公司名字. All rights reserved. */
/* #### ######## ####### ## ## ## ## ## ####### ####### ####### ## ## ## ## ## ### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #### ## ## ## ## ## ## ## ## ######## ## ## ## ## ## ## ## ## ####### ####### ####### ## ## ## ## ## ## #### ## ## ## ## ## ## ## ## ## ## ## ## ### ## ## ## ## ## ## ## ## #### ## ## ####### ## ## ######## ####### ######### ####### ####### * @author IronLu233 <lrironsora@gmail.com> * @date 2022-06-12 22:33:53 */
安裝與使用
如何獲得它
- Fileheader Pro - Visual Studio Marketplace VSCode擴(kuò)展市場(chǎng),點(diǎn)擊Install
讓它默默添加頭部注釋
文件注釋中的信息來(lái)自于您的版本控制工具,目前插件還只支持Git,再未來(lái)它將支持SVN,Mercurial等其它版本控制工具。 因此請(qǐng)您確保在有Git的項(xiàng)目中使用它。
安裝后,默認(rèn)的模板將能復(fù)合大部分的使用場(chǎng)景。
當(dāng)你新建一個(gè)文件后,將會(huì)自動(dòng)地為你添加Fileheader。因此大部分情況下您不需要下文中的手動(dòng)添加

如您需要手動(dòng)添加到已有代碼,打開一個(gè)文件后,在您的命令面板里【您可以使用Ctrl(Mac下是Command) + Shift + P】,輸入 Fileheader Pro: Add Fileheader并按下回車,就能見(jiàn)到文件注釋恰如其分地加入到了您巧奪天工的代碼頭部。

保存時(shí),您的文件頭部注釋需要更新時(shí),F(xiàn)ileheader Pro將會(huì)自動(dòng)為您更新。

自定義模板
盡管自帶的模板能滿足大部分場(chǎng)景。但自定義模板的強(qiáng)大與整活能力,也值得為它去專門配置。

別忘了將你的模板提交到git上,并且讓與你一起開發(fā)的同學(xué)也安裝Fileheader Pro
首先我們需要?jiǎng)?chuàng)建一個(gè)模板。在您VSCode的命令面板中,執(zhí)行這樣的命令: Fileheader Pro: Generate Custom Fileheader Template;

此時(shí)在項(xiàng)目的根目錄下的.vscode/fileheader.template.js。 請(qǐng)修改類CustomLanguageProvider。特別是它的getTemplate方法。它的返回值,就決定了您的文件頭部注釋最后的模樣。另外,languages將會(huì)決定,在那些語(yǔ)言的文件中它可以被使用。
請(qǐng)務(wù)必將所有返回的字符串使用tpl進(jìn)行模板字符串函數(shù)的調(diào)用,否則可能會(huì)出現(xiàn)一些奇奇怪怪的問(wèn)題

可以使用variable中的各個(gè)字段,對(duì)其進(jìn)行加工處理,放入模板之中。 variables的字段有下列這些
| 字段 | 含義 |
|---|---|
| birthtime | 文件被創(chuàng)建的時(shí)間,如果它被版本控制系統(tǒng)所追蹤那么會(huì)從版本控制系統(tǒng)中獲取創(chuàng)建時(shí)間,否則將使用文件在磁盤中創(chuàng)建的時(shí)間 |
| mtime | 文件被修改時(shí)間。獲取邏輯同birthime,不建議使用mtime。因?yàn)楫?dāng)一個(gè)文件被多個(gè)人修改時(shí),他們關(guān)于mtime的注釋,會(huì)在代碼合并時(shí)造成沖突! |
| authorName | 作者名字,會(huì)從版本控制工具歷史中尋找,如果這個(gè)文件是新的,那么它將會(huì)使用userName |
| authorEmail | 作者的電子郵箱,回退機(jī)制同authorName |
| userName | 用戶的名字。對(duì)于git來(lái)說(shuō),會(huì)通過(guò)git config user.name獲取 |
| userEmail | 用戶的電子郵箱,對(duì)于git會(huì)通過(guò)git config user.email獲取 |
| companyName | 公司名稱。沒(méi)有公司的可以去工商局登記成立 |
| projectName | 當(dāng)前項(xiàng)目的名稱,也就是就是VSCode所打開的文件夾的名稱 |
| filePath | 當(dāng)前文件的路徑 |
| dirPath | 當(dāng)前文件的目錄路徑 |
| fileName | 當(dāng)前文件的文件名 |
Fileheader Pro源代碼本身就使用了自定義模板添加頭部注釋。
所以它也是一個(gè)例子
fileheader-pro/fileheader.template.js at main · IronLu233/fileheader-pro (github.com)
配置項(xiàng)
FileheaderPro.disableFileds
對(duì)于默認(rèn)的模板,其中的各個(gè)字段都可以通過(guò)它來(lái)禁用。禁用的字段將不會(huì)出現(xiàn)在注釋之中。 您可以在VSCode的設(shè)置界面中,對(duì)其進(jìn)行修改
默認(rèn)值是['mtime']。不建議啟用mtime。因?yàn)楫?dāng)一個(gè)文件被多個(gè)人修改時(shí),他們關(guān)于mtime的注釋,會(huì)在代碼合并時(shí)造成沖突!

FileheaderPro.companyName
您需要在設(shè)置中,告訴插件公司的名字,因?yàn)闊o(wú)法從任何其它地方得到它!
FileheaderPro.currentUserName和FileheaderPro.currentUserEmail
這兩個(gè)字段可以直接覆蓋掉模板中的userName和userEmail變量,也會(huì)間接影響authorName和authorEmail(當(dāng)文件并未被版本控制工具追蹤的時(shí)候)
FileheaderPro.dateFormat
注釋中的日期的格式。請(qǐng)參考:momentjs.com/docs/#/disp…
FileheaderPro.autoInsertOnCreateFile
是否啟用創(chuàng)建文件時(shí),自動(dòng)添加文件頭部注釋。默認(rèn)它是開啟的
FileheaderPro.autoUpdateOnSave
是否保存時(shí)更新fileheader。默認(rèn)啟用。
Fileheader Pro內(nèi)部只在需要的時(shí)候更新文件頭部注釋。
Q & A
它是怎么實(shí)現(xiàn)的?
使用了ES6的tagged template。
我們可以知道哪一些是固定的字符串,哪一些是用戶所使用的變量。接下來(lái)請(qǐng)參考這個(gè)抽象類
fileheader-pro/FileheaderLanguageProvider.ts at main · IronLu233/fileheader-pro (github.com)
沒(méi)有我支持的語(yǔ)言
目前支持這些語(yǔ)言
- Javascript
- Typescript
- Python
- HTML
- CSS
- Vue
- Java 請(qǐng)使用自定義模板,或者發(fā)起一個(gè)issue。當(dāng)然,也歡迎提PR來(lái)為Fileheader Pro添磚加瓦
以上就是好用的VSCode頭部注釋插件Fileheader Pro的詳細(xì)內(nèi)容,更多關(guān)于VSCode頭部注釋Fileheader Pro的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 詳解Vue后臺(tái)管理系統(tǒng)開發(fā)日??偨Y(jié)(組件PageHeader)
- Vue header組件開發(fā)詳解
- VSCode多行注釋插件KoroFileHeader使用示例
- Flutter實(shí)現(xiàn)固定header底部滑動(dòng)頁(yè)效果示例
- NSURLSession跨域重定向透?jìng)鱄TTP Header問(wèn)題解決
- Go結(jié)構(gòu)體SliceHeader及StringHeader作用詳解
- resty更新header控制api版本數(shù)據(jù)源讀寫分離
- Header組件熱門搜索欄的實(shí)現(xiàn)示例
相關(guān)文章
一個(gè)30多年編程經(jīng)驗(yàn)的程序員總結(jié)
這篇文章主要介紹了一個(gè)30多年編程經(jīng)驗(yàn)的程序員總結(jié),在我30多年的程序員生涯里,我學(xué)到了不少有用的東西,下面是我這些年積累的經(jīng)驗(yàn)精華,需要的朋友可以參考下2014-09-09
Terraform集成簡(jiǎn)單Gitlab?CI方案詳解
這篇文章主要為大家介紹了Terraform?+?Gitlab?CI簡(jiǎn)單集成方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
最新Listary?v5.00.2843注冊(cè)碼?親測(cè)可用
listary是?windows?下一款可以快速搜索所有程序、文件,并且可以快速啟動(dòng)程序和打開相應(yīng)文件的優(yōu)秀的搜索軟件,絕對(duì)比系統(tǒng)自帶搜索速度快很多,而且查詢功能豐富,本文給大家分享Listary?v5.00.2843注冊(cè)碼,感興趣的朋友一起看看吧2022-07-07
matlab讀取串口數(shù)據(jù)并顯示曲線的實(shí)現(xiàn)示例
這篇文章主要介紹了matlab讀取串口數(shù)據(jù)并顯示曲線的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

