vscode注释插件「koroFileHeader」

前言

在vscode上进行前端开发,有几个流行的注释插件:

  • Better Comments
  • Todo Tree
  • koroFileHeader
  • Document This
  • Auto Comment Blocks

在上面的插件中我选择 koroFileHeader 做推荐,原因一是使用人数比较多(最多的是 Better Comments ),二是它能做文件头部注释和函数注释,注释模块可配置。头部注释可自动更新最后编辑人

安装

在vscode扩展商店中搜索 koroFileHeader ,点击安装
请添加图片描述

快捷键使用

文件头部注释:

window:ctrl+win+i
mac:ctrl+cmd+i
linux: ctrl+meta+i

函数注释:将光标放在函数上方的空白行

window:ctrl+win+t
mac:ctrl+cmd+t
linux: ctrl+meta+t

快捷键注释不可用的问题:参考这里

注释模版配置

打开全局配置(setting.json),进行必要的基础配置

// 头部注释
"fileheader.customMade": {// Author字段是文件的创建者 可以在specialOptions中更改特殊属性// 自动提取当前git config中的: 用户名、邮箱"Author": "git config user.name && git config user.email", // 同时获取用户名与邮箱// "Author": "git config user.name", // 仅获取用户名// "Author": "git config user.email", // 仅获取邮箱// "Author": "OBKoro1", // 写死的固定值 不从git config中获取"Date": "Do not edit", // 文件创建时间(不变)// LastEditors、LastEditTime、FilePath将会自动更新 如果觉得时间更新的太频繁可以使用throttleTime(默认为1分钟)配置更改更新时间。"LastEditors": "git config user.name && git config user.email", // 文件最后编辑者 与Author字段一致// 由于编辑文件就会变更最后编辑时间,多人协作中合并的时候会导致merge// 可以将时间颗粒度改为周、或者月,这样冲突就减少很多。搜索变更时间格式: dateFormat"LastEditTime": "Do not edit", // 文件最后编辑时间// 输出相对路径,类似: /文件夹名称/src/index.js"FilePath": "Do not edit", // 文件在项目中的相对路径 自动更新// 插件会自动将光标移动到Description选项中 方便输入 Description字段可以在specialOptions更改"Description": "", // 介绍文件的作用、文件的入参、出参。
},
// 函数注释
"fileheader.cursorMode": {"description": "", // 函数注释生成之后,光标移动到这里"param": "", // param 开启函数参数自动提取 需要将光标放在函数行或者函数上方的空白行"return": "",
}

插件配置项

详细的配置:参考这里

常用的配置:

// 插件配置项
"fileheader.configObj": {"autoAdd": true, // 检测文件没有头部注释,自动添加文件头部注释,配合头部注释黑名单使用更佳"autoAddLine": 100, // 文件超过多少行数 不再自动添加头部注释"autoAlready": true, // 只添加插件支持的语言以及用户通过`language`选项自定义的注释"supportAutoLanguage": ["js", "vue"], // 设置之后,在数组内的文件才支持自动添加"prohibitAutoAdd": ["json", "md"], // 自动添加头部注释黑名单"prohibitItemAutoAdd": [ "项目的全称禁止项目自动添加头部注释, 使用快捷键自行添加" ],"folderBlacklist": [ "node_modules" ], // 文件夹或文件名禁止自动添加头部注释"wideSame": false, // 头部注释等宽设置"wideNum": 13,  // 头部注释字段长度 默认为13"functionWideNum": 0, // 函数注释等宽设置 设为0 即为关闭"dateFormat": "YYYY-MM-DD HH:mm:ss", // 时间格式"CheckFileChange": false, // 单个文件保存时进行diff检查,默认false"createHeader": true, // 新建文件自动添加头部注释"throttleTime": 60000, // 对同一个文件 需要过1分钟再次修改文件并保存才会更新注释
}
  • 单个文件保存时进行diff检查 「CheckFileChange」

每次保存之后,会进行一次diff检查, 如果文件只变更了LastEditors/LastEditTime,该文件将会回滚到本地仓库的最新版本
使用场景:对文件进行修改之后又撤销,但是LastEditors和LastEditTime已经变更了,在提交代码的时候很容易忘记恢复它,导致无意义的提交

运行逻辑:

  1. 检测VSCode当前打开的文件夹的根目录是否有.git文件夹, 没有的话,则退出
  2. 获取触发保存文件的diff,进行diff检查
  3. 检测当只有LastEditors和LastEditTime变更,其他任何变更都没有的情况下
  4. 将该文件回滚到本地仓库的最新版本

推荐配置

    // 头部注释"fileheader.customMade": {"Author": "git config user.email", // 同时获取用户名与邮箱"Date": "Do not edit", // 文件创建时间(不变)"LastEditors": "git config user.email", // 文件最后编辑者 与Author字段一致// 由于编辑文件就会变更最后编辑时间,多人协作中合并的时候会导致merge// 可以将时间颗粒度改为周、或者月,这样冲突就减少很多。搜索变更时间格式: dateFormat"LastEditTime": "Do not edit", // 文件最后编辑时间"FilePath": "Do not edit", // 文件在项目中的相对路径 自动更新"Description": "", // 介绍文件的作用、文件的入参、出参。},// 函数注释"fileheader.cursorMode": {"description": "", // 函数注释生成之后,光标移动到这里"param": "", // param 开启函数参数自动提取 需要将光标放在函数行或者函数上方的空白行"return": "",},// 插件配置项"fileheader.configObj": {"prohibitAutoAdd": ["json", "md"], // 自动添加头部注释黑名单"folderBlacklist": [ "node_modules", "dist" ], // 文件夹或文件名禁止自动添加头部注释"wideSame": true, // 头部注释等宽设置"wideNum": 13,  // 头部注释字段长度 默认为13"functionWideNum": 13, // 函数注释等宽设置 设为0 即为关闭"dateFormat": "YYYY-MM-DD HH:mm", // 时间格式"CheckFileChange": true, // 单个文件保存时进行diff检查"createHeader": true, // 新建文件自动添加头部注释"throttleTime": 60000, // 对同一个文件 需要过1分钟再次修改文件并保存才会更新注释}

Better Comments 扩展

  • 安装

请添加图片描述

  • 使用,正常注释,前面使用相应的前缀即可,插件自带5种高亮注释
// ! 红色的高亮注释
// ? 蓝色的高亮注释
// * 绿色的高亮注释
// todo 橙色的高亮注释
// // 灰色带删除线的注释
// 普通的注释

请添加图片描述

  • 自带的高亮注释不好看的话是可以自定义的,在 settings.json 文件里配置
    "better-comments.tags": [{"tag": "!", // 符号标识"color": "#3498DB", // 注释颜色"strikethrough": false, // 是否添加删除线"backgroundColor": "transparent" // 背景颜色},{"tag": "?","color": "#3498DB","strikethrough": false,"backgroundColor": "transparent"},{"tag": "//","color": "#474747","strikethrough": true,"backgroundColor": "transparent"},{"tag": "todo","color": "#FF8C00","strikethrough": false,"backgroundColor": "transparent"},{"tag": "*","color": "#98C379","strikethrough": false,"backgroundColor": "transparent"}]
  • 也可以自定义自己想要的高亮注释
    {"tag": "my","color": "#d0db45","strikethrough": false,"backgroundColor": "transparent"}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229628.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】文件I/O-文件系统操作

导读 在文件I/O这一节的知识里,对文件的操作主要分为两大类: ☑️针对文件系统进行的操作 ☑️针对文件内容进行的操作 针对文件系统进行的操作主要是对Java中的File类进行操作。这篇文章里,博主就来带大家看看Java中针对文件系统的一些常…

echarts修改tooltip默认的圆点图标为其他样式

业务需求,默认是圆点,需要把线的由圆点改为线 红色线是理论,点是历史理论,绿色线是实际, 点是历史实际,在series里的顺序也是这样排的。 打印出来的params里的marker就是圆点,改这段代码就可以了…

电脑格式化了怎么恢复原来的数据?您可以这样做

电脑是我们日常生活和工作中不可或缺的工具,然而,在一些情况下我们可能需要进行电脑格式化,比如为了清理系统垃圾、解决系统故障等。然而,格式化会导致所有数据被删除,给用户带来不便和困扰。本文将介绍电脑格式化了怎…

开发知识点-CSS样式

CSS样式 fontCSS 外边距 —— 围绕在元素边框的空白区域# linear-gradient() ——创建一个线性渐变的 "图像"# transform ——旋转 元素![在这里插入图片描述](https://img-blog.csdnimg.cn/20191204100321698.png)# rotate() [旋转] # 边框 (border) —— 围绕元素内…

nnUNet保姆级使用教程!从环境配置到训练与推理(新手必看)

文章目录 写在前面nnUNet是什么?一、配置虚拟环境二、安装nnUNet框架1.安装nnUNet这一步我遇到的两个问题: 2.安装隐藏层hiddenlayer(可选) 三、数据集准备nnUNet对于你要训练的数据是有严格要求的,这第一点就体现在我…

第三方发起备份的ORA-00245问题

文章目录 前言一、信息确认共享目录位置控制文件快照位置节点1节点2 二、RAC修改snapshot controlfile 参数三、字典表确认以及测试 前言 在使用 AnyBackup 管理控制台发起 Oracle RAC 数据库备份后,在任务历史记录 > 执行输出中显示如下错误信息: c…

深度视觉目标跟踪进展综述

1 引言 目标跟踪旨在基于初始帧中指定的感兴趣目标( 一般用矩形框表示) ,在后续帧中对该目标进行持续的定位。 基于深度学习的跟踪算法,采用的框架包括相关滤波器、分类式网络、双路网络等。 处理跟踪任务的角度,分为基于匹配思路的双路网…

RFID资产管理系统全功能详解!高效管理从这里开始!

在现代商业环境中,RFID资产管理系统正成为企业管理不可或缺的先进工具。现代企业管理正处于数字化的浪潮中,而RFID资产管理系统正是这场浪潮中的一颗璀璨明珠。在这篇文章中,我们将全方位解析RFID资产管理系统的功能,助您深入了解…

分析:为什么有些pdf打开之后无法编辑?

pdf文件大家应该都经常接触,但是不知道大家会遇到这种情况:有些PDF文件打开之后无法编辑?是什么原因呢?今天我们来分析一下都是那些原因导致的。 首先我们可以考虑一下,PDF文件中的内容是否是图片,如果确认…

Linux——vim编辑文件时——.swp文件解决方案

test.cpp样例 当我们vim test.cpp进入编辑文件。 却忘记了保存退出 再次进入就会出现一下画面 当你摁下Enter键位 出现以下几个选项 O——是只读不写 E——是正常打开文件但不会载入磁盘内容 R——覆盖——是加载存储磁盘的文件(当我们忘记保存时,系统会自动帮我…

网络入门---网络的大致了解

目录标题 网络发展的简单认识协议作用的理解协议的本质什么是协议分层网络通信所面对的问题OSI七层模型TCP/IP模型协议报头的理解局域网通信局域网通信基本原理报头的问题局域网的特点跨网的网络链接如何查看mac地址 网络发展的简单认识 通过之前的学习我们知道计算机是给人提…

基于STM32单片机的智能家居系统设计(论文+源码)

1.系统设计 基于STM32单片机的智能家居系统设计与实现的具体任务: (1)可以实现风扇、窗帘、空调、灯光的开关控制; (2)具有语音识别功能,可以通过语音控制家电; (3&a…