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"
    }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

外贸人如何优化资金管理链路,让「主子账户」助您事半功倍

如果一家外贸企业在大陆、香港同时拥有多个主体,该如何提升关联公司的账户管理效率? 使用iPayLinks主子账户功能,助力外贸企业轻松实现多账户资金的统一管理和掌控! 多账户资金统一管理 1个主账户 可添加多达50个子账户 无需切…

人工智能_机器学习053_支持向量机SVM目标函数推导_SVM条件_公式推导过程---人工智能工作笔记0093

然后我们再来看一下支持向量机SVM的公式推导情况 来看一下支持向量机是如何把现实问题转换成数学问题的. 首先我们来看这里的方程比如说,中间的黑线我们叫做l2 那么上边界线我们叫l1 下边界线叫做l3 如果我们假设l2的方程是上面这个方程WT.x+b = 0 那么这里 我们只要确定w和…

亚马逊低价产品广告怎么打?亚马逊造成成本高的原因——站斧浏览器

亚马逊低价产品广告怎么打? 设置合适的出价:在低价自动广告中,设置适当的出价是关键。过高的出价可能导致广告成本过高,而过低的出价可能使广告曝光度不足。可以根据产品的竞争情况和预算来调整出价,找到一个平衡点。…

冲刺高端,OPPO不太OK?

所有人都知道OPPO有一个高端梦,而折叠屏似乎就是其弯道超车实现高端化的关键所在。然而如今看来,折叠屏手机在市场的表现似乎并没有成为主流,这或许也意味着OPPO距离自己的高端梦似乎还有些距离。 更高端,往往意味着更多的利润和价…

ATFX汇市:英、日、欧央行行长同日发声,均强调2%通胀目标尚未达成

ATFX动态:11月27日,英国央行行长贝利表示,“我们必须将(通胀)降到2%,这就是为什么我最近一直在给有关我们正在讨论降息或者我们将在可预见的未来降息的假设泼冷水,因为现在谈这个问题还太早”。…

Elsevier的latex模板

1.关于Elsevier的letex模板&#xff08; version 2.3 2021-05-11)一开始直接编辑出现The key ‘stm/author/&#xff1c;options&#xff1e;‘ is unknown and 的问 LaTeX Error: The key stm/author/<options> is unknown and is being ignored. 关于Elsevier的letex…

现货白银交易系统失灵了咋办?

在现货白银交易中&#xff0c;投资者常常会吐槽说&#xff0c;这个交易系统失灵了&#xff0c;并且他们还会感到很紧张&#xff0c;因为系统的失灵&#xff0c;可能意味着投资者策略不能发挥作用&#xff0c;进而出现亏损。其实&#xff0c;在网络时代&#xff0c;尤其是自动交…

IDEA不支持Java8了怎么办?

IDEA不支持Java8了怎么办&#xff1f; 01 异常发生场景 当我准备创建一个springboot项目时&#xff0c;发现Java8没了 02 问题的产生及其原因 查阅了官方文档之后&#xff0c;确认了是Spring Boot 不再支持 Java 8&#xff0c;不是我的问题&#xff0c;这一天终于还是来了 0…

filebeat(远程收集日志工具)

&#xff08;一&#xff09;filebeat 1、filebeat和logstash相同 &#xff08;1&#xff09;filebeat是一个轻量级的日志收集工具&#xff0c;所使用的系统资源比logstash部署和启动时使用的资源要小的多 &#xff08;2&#xff09;filebeat可以运行在非Java环境、可以代理l…

初始化的内容写到析构函数中。。。。。。。

大概是&#xff0c;把应该在构造函数中初始化的堆栈窗体代码写到了析构函数中。。。。 不是因为没掌握构造/析构&#xff0c;而是。。。。 检查了四十多分钟没检查出来。。 被自己蠢哭。 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) { }…

数学老师怎么和家长沟通

作为一名数学老师&#xff0c;与家长建立良好的沟通关系是非常重要的。以下是我个人认为可以帮助与家长有效沟通的建议&#xff1a; 建立良好的第一印象 第一次与家长接触时&#xff0c;要尽可能展现出你的专业素养和热情。在交流中&#xff0c;要表达出你对孩子的关心和重视&…

全面介绍SSO(单点登录)

全面介绍SSO&#xff08;单点登录&#xff09; SSO英文全称Single SignOn&#xff0c;单点登录。SSO是在多个应用系统中&#xff0c;用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比…

vue项目通过HBuilder打包成apk,实现apk自动更新下载

vue 项目通过 HBuilder 打包成 apk&#xff0c;实现 apk 自动更新下载 1、vue 项目通过 HBuilder 打包成 apk vue 项目在终端执行 npm run build 打包成 dist 文件&#xff0c;生成的 dist 文件在 项目根目录下 在 HBuilder 中 新建一个项目 默认选择 5APP 的默认模板项目…

DDD落地:有赞的生产项目,DDD如何落地?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如有赞、阿里、滴滴、极兔、希音、百度、网易、美团的面试资格&#xff0c;遇到很多很重要的面试题&#xff1a; 谈谈你的DDD落地经验&#xff1f; 谈谈你对DDD的理解&#x…

MS31542直流电机驱动芯片可Pin to Pin兼容GC3909

MS31542 是一个双全桥电机驱动。电源电压供电范围 4V 到 12V&#xff0c;平均电流 1.1A&#xff0c;电流峰值1.54A。如果需要更高的电流能力&#xff0c;可以将双全桥并联使用。 四个输入脚可以控制直流电机工作在正转、反转、刹车以及滑行模式&#xff0c;也可以控制一个步进电…

与中通支付对接

最近项目接入商户&#xff0c;商户需要同步给中通支付&#xff0c;报错两个异常已解决。 一、json报错 未接入中通SKD之前&#xff0c;不会报错&#xff0c;接入后&#xff0c;json转换异常。 排查后发现&#xff0c;中通的jar包里JSON版本太低&#xff0c;与自身项目的版本冲…

ARM Cortex-M核的内核态,用户态

首先&#xff0c;用户态和内核态是从操作系统层面上来划分的&#xff0c;如果没有操作系统&#xff0c;我可以直接运行在特权模式下&#xff0c;并使用特权指令。在这种情况下&#xff0c;我将负责管理和控制系统资源&#xff0c;执行关键操作&#xff0c;以及确保系统的安全性…

Surfer与Voxler数据处理及可视化

Surfer和Voxler分别是美国Golden Software 公司开发的用于二维和三维数据可视化软件&#xff0c;具有强大的数据处理和插值功能&#xff0c;软件主要应用于气象、环境和地质&#xff08;以及生物、医学等&#xff09;等领域。其中Surfer主要用于绘制二维等值线图、三维表面图以…

MySQL双主双从数据库集群搭建

1 引言 在之前的文章中提到过相关搭建方法&#xff0c;具体请参考《MySQL主从数据库搭建》这篇文章&#xff0c;本文主要讲述双主双从&#xff0c;双主多从集群的搭建方式。 这里要问一个问题&#xff0c;为什么MySQL要搭建数据库集群呢&#xff1f;我想应该有以下几点原因&…