0

0

分享一个好用的VSCode头部注释插件:Fileheader Pro

青灯夜游

青灯夜游

发布时间:2022-07-13 20:22:57

|

3875人浏览过

|

来源于掘金社区

转载

vscode中怎么快速进行头部注释?下面本篇文章给大家分享一个好用的vscode头部注释插件:fileheader pro,开箱即用又能完全自定义的fileheader插件您会喜欢么? 总之,非常好用就对了。 添加头部注释的事情就交给它吧!

分享一个好用的VSCode头部注释插件:Fileheader Pro

【推荐学习:《vscode入门教程》】

有时候需要在代码头部添加像这样的一段注释。这段注释包括了作者、代码版权许可等信息。每次重复添加都会让您觉得非常麻烦。作为开发者的您,时间是自然非常。那么这个插件,就是为这个场景而生,替你无感地默默做完这件事。如果您想要在代码头部添加一些类似这样的ASCII Art。它也能满足您的需求。

/*
 * @Author: IronLu233
 * @Date: 2021-03-10 12:00:00
 * Copyright © 你的公司名字. All rights reserved.
 */
/*
#### ########   #######  ##    ## ##       ##     ##  #######   #######   #######  
 ##  ##     ## ##     ## ###   ## ##       ##     ## ##     ## ##     ## ##     ## 
 ##  ##     ## ##     ## ####  ## ##       ##     ##        ##        ##        ## 
 ##  ########  ##     ## ## ## ## ##       ##     ##  #######   #######   #######  
 ##  ##   ##   ##     ## ##  #### ##       ##     ## ##               ##        ## 
 ##  ##    ##  ##     ## ##   ### ##       ##     ## ##        ##     ## ##     ## 
#### ##     ##  #######  ##    ## ########  #######  #########  #######   #######  

 * @author        IronLu233 
 * @date          2022-06-12 22:33:53
 */
这段代码来自这里:https://github.com/IronLu233/fileheader-pro/blob/main/src/Extension.ts

安装与使用

如何获得它

让它默默添加头部注释

文件注释中的信息来自于您的版本控制工具,目前插件还只支持Git,再未来它将支持SVN,Mercurial等其它版本控制工具。 因此请您确保在有Git的项目中使用它。

安装后,默认的模板将能复合大部分的使用场景。

当你新建一个文件后,将会自动地为你添加Fileheader。因此大部分情况下您不需要下文中的手动添加

1.gif

如您需要手动添加到已有代码,打开一个文件后,在您的命令面板里【您可以使用Ctrl(Mac下是Command) + Shift + P】,输入Fileheader Pro: Add Fileheader并按下回车,就能见到文件注释恰如其分地加入到了您巧夺天工的代码头部。

2.gif

保存时,您的文件头部注释需要更新时,Fileheader Pro将会自动为您更新。

3.gif

自定义模板

尽管自带的模板能满足大部分场景。但自定义模板的强大与整活能力,也值得为它去专门配置。

4.gif

别忘了将你的模板提交到git上,并且让与你一起开发的同学也安装Fileheader Pro

首先我们需要创建一个模板。在您VSCode的命令面板中,执行这样的命令: Fileheader Pro: Generate Custom Fileheader Template;

5.gif

此时在项目的根目录下的.vscode/fileheader.template.js。 请修改类CustomLanguageProvider。特别是它的getTemplate方法。它的返回值,就决定了您的文件头部注释最后的模样。另外,languages将会决定,在那些语言的文件中它可以被使用。

请务必将所有返回的字符串使用tpl进行模板字符串函数的调用,否则可能会出现一些奇奇怪怪的问题

Vozo
Vozo

Vozo是一款强大的AI视频编辑工具,可以帮助用户轻松重写、配音和编辑视频。

下载

6.gif

可以使用variable中的各个字段,对其进行加工处理,放入模板之中。 variables的字段有下列这些

字段 含义
birthtime 文件被创建的时间,如果它被版本控制系统所追踪那么会从版本控制系统中获取创建时间,否则将使用文件在磁盘中创建的时间
mtime 文件被修改时间。获取逻辑同birthime不建议使用mtime。因为当一个文件被多个人修改时,他们关于mtime的注释,会在代码合并时造成冲突!
authorName 作者名字,会从版本控制工具历史中寻找,如果这个文件是新的,那么它将会使用userName
authorEmail 作者的电子邮箱,回退机制同authorName
userName 用户的名字。对于git来说,会通过git config user.name获取
userEmail 用户的电子邮箱,对于git会通过git config user.email获取
companyName 公司名称。没有公司的可以去工商局登记成立
projectName 当前项目的名称,也就是就是VSCode所打开的文件夹的名称
filePath 当前文件的路径
dirPath 当前文件的目录路径
fileName 当前文件的文件名

Fileheader Pro源代码本身就使用了自定义模板添加头部注释。

所以它也是一个例子:

fileheader-pro/fileheader.template.js at main · IronLu233/fileheader-pro (github.com)

配置项

FileheaderPro.disableFileds

对于默认的模板,其中的各个字段都可以通过它来禁用。禁用的字段将不会出现在注释之中。 您可以在VSCode的设置界面中,对其进行修改

默认值是['mtime']不建议启用mtime。因为当一个文件被多个人修改时,他们关于mtime的注释,会在代码合并时造成冲突!7.gif

FileheaderPro.companyName

您需要在设置中,告诉插件公司的名字,因为无法从任何其它地方得到它!

FileheaderPro.currentUserName和FileheaderPro.currentUserEmail

这两个字段可以直接覆盖掉模板中的userNameuserEmail变量,也会间接影响authorNameauthorEmail(当文件并未被版本控制工具追踪的时候)

FileheaderPro.dateFormat

注释中的日期的格式。请参考:https://momentjs.com/docs/#/displaying/format

FileheaderPro.autoInsertOnCreateFile

是否启用创建文件时,自动添加文件头部注释。默认它是开启的

FileheaderPro.autoUpdateOnSave

是否保存时更新fileheader。默认启用。

Fileheader Pro内部只在需要的时候更新文件头部注释。

Q & A

它是怎么实现的?

使用了ES6的tagged template

我们可以知道哪一些是固定的字符串,哪一些是用户所使用的变量。接下来请参考这个抽象类

fileheader-pro/FileheaderLanguageProvider.ts at main · IronLu233/fileheader-pro (github.com)

没有我支持的语言

目前支持这些语言

  • Javascript
  • Typescript
  • Python
  • HTML
  • CSS
  • Vue
  • Java 请使用自定义模板,或者发起一个issue。当然,也欢迎提PR来为Fileheader Pro添砖加瓦

更多关于VSCode的相关知识,请访问:vscode教程

相关专题

更多
es6新特性
es6新特性

es6新特性有:1、块级作用域变量;2、箭头函数;3、模板字符串;4、解构赋值;5、默认参数;6、 扩展运算符;7、 类和继承;8、Promise。本专题为大家提供es6新特性的相关的文章、下载、课程内容,供大家免费下载体验。

94

2023.07.17

es6新特性有哪些
es6新特性有哪些

es6的新特性有:1、块级作用域;2、箭头函数;3、解构赋值;4、默认参数;5、扩展运算符;6、模板字符串;7、类和模块;8、迭代器和生成器;9、Promise对象;10、模块化导入和导出等等。本专题为大家提供es6新特性的相关的文章、下载、课程内容,供大家免费下载体验。

185

2023.08.04

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

53

2025.12.24

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

246

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

202

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1427

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

606

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

545

2024.03.22

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

10

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP基础入门课程
PHP基础入门课程

共33课时 | 1.8万人学习

HTML 中文开发手册
HTML 中文开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号