Skip to content

hks2002/auto-header-plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auto Header

Logo

Github Version Github Build Status GitHub License GitHub Starts

English | 简体中文

This extension let you automatically add a header to the top of the current file. The supported comment style as bellow:

  • Javascript、Java、 go、 C++、 C、C#、php、rust、solidity
/*
* @Author      : MerBleueAviation
* @Date        : 2018-09-27 13:55:00
* @LastEditors : MerBleueAviation
* @LastEditTime: 2018-11-08 16:10:19
*/
  • html、vue、markdown
<!--
* @Author      : MerBleueAviation
* @Date        : 2018-09-27 13:55:00
* @LastEditors : MerBleueAviation
* @LastEditTime: 2018-11-08 16:10:19
-->
  • python
'''
@Author      : MerBleueAviation
@Date        : 2018-09-27 13:55:00
@LastEditors : MerBleueAviation
@LastEditTime: 2018-11-08 16:10:19
'''
  • vba
'
' @Author      : MerBleueAviation
' @Date        : 2018-09-27 13:55:00
' @LastEditors : MerBleueAviation
' @LastEditTime: 2018-11-08 16:10:19
'
  • shellscript
###
# @Author      : MerBleueAviation
# @Date        : 2018-09-27 13:55:00
# @LastEditors : MerBleueAviation
# @LastEditTime: 2018-11-08 16:10:19
###
  • lua
--[[
@Author      : MerBleueAviation
@Date        : 2018-09-27 13:55:00
@LastEditors : MerBleueAviation
@LastEditTime: 2018-11-08 16:10:19
--]]

Features

  • Support custom comment element, except preset: Author,CreatedDate,LastEditors,LastEditDate,FilePath,CopyRightadditionalComment,It could add your customer element, for example: Version,Description

  • Support custom header comment style, support the following variables:

    • First Line: firstLineStart, firstLineMiddle, firstLineEnd
    • Middle Line: middleLineStart, commentElementPrefix, commentElementSuffix, middleLineEnd,
    • Last Line: lastLineStart, lastLineMiddle, lastLineEnd
    • Others: commentElementWidth,lineWidth, dateFormat
  • Support set comment element value to Command result: git config user.namegit config user.emailcat license.md, or special value: MODIFIED_DATE, CREATED_DATE, FULL_PATH, RELATIVE_PATH, SHORTNAME_PATH

  • Easy configuration, you can set them in the settings UI or settings.jsonui

    It can achieve the following effects after configure:

/***************************************
* @Author      : MerBleueAviation      *
* @Date        : 2018-09-27 13:55:00   *
* @LastEditors : MerBleueAviation      *
* @LastEditTime: 2018-11-08 16:10:19   *
* @FilePath    : RelativePath          *
* @Version     : 1.0.0                 *
* @Description :                       *
*                                      *
* Additional comments:                 *
* Some license information from file:  *
* balabala  balabala                   *
***************************************/

Extension Settings

  enableAutoAddOnSave: true,
  enableAutoAddOnNew: true,
  allowCreateTimeDiff: true,
  dateFormat: 'YYYY-MM-DD HH:mm:ss',
  commentElements: [
    'Author',
    'CreatedDate',
    'LastEditors',
    'LastEditDate',
    'FilePath',
    'CopyRight'
  ],
  commentElementsValue: {
    Author: '${git config user.name}<${git config user.email}>',
    CreatedDate: 'CreatedDate',
    LastEditors: '${git config user.name}<${git config user.email}>',
    LastEditDate: 'ModifiedDate',
    FilePath: 'RelativePath',
    CopyRight: ''
  },
  customCommentElementsValue: { YourCustomCommentElement1: '' },
  style: {
    '0': {
      enable: true,
      applyTo: 'c|cpp|h|hpp|cs|java|js|ts|go|php|rs',
      firstLineStart: '/**',
      firstLineMiddle: '*',
      firstLineEnd: '*',
      middleLineStart: ' * ',
      commentElementPrefix: '@',
      commentElementSuffix: ': ',
      middleLineEnd: '',
      lastLineStart: ' *',
      lastLineMiddle: '*',
      lastLineEnd: '*/',
      commentElementWidth: 25,
      lineWidth: 80
    }
  },
  additionalComment: '',
  enableStyleSymbolCheck: true,
  logLevel: 'INFO'

If you need to add a new comment style, you can add a new style in style:

  '6': {
    enable: true,
    applyTo: 'unknown',
    firstLineStart: "'''",
    firstLineMiddle: '',
    firstLineEnd: '',
    middleLineStart: "''' ",
    commentElementPrefix: '@',
    commentElementSuffix: ': ',
    middleLineEnd: '',
    lastLineStart: "'''",
    lastLineMiddle: '',
    lastLineEnd: '',
    commentElementWidth: 25,
    lineWidth: 80
  }

Note that the style number 6 must be unique,0->5 are preset and reserved by extension.

Extension Commands

This extension contributes the command: Add Header to the Command Palette. bind key:

  • win: ctrl+win+h
  • mac: ctrl+cmd+h
  • linux: ctrl+win+h

Enjoy!

About

Auto add header to a new file or existing file

Resources

License

Stars

3 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors