VS Code自动添加文件头file header

代码规范

为了增强代码的可读性以及更方便的对工程进行规范化管理,通常需要在文件头部添加诸如协议、文件描述、作者信息等统一的标识。复制粘贴显得略low,并且不同的语言注释的方式也有所不同,能有自动化插件帮助我们完成这样的操作就再好不过了。

使用插件:psioniq可以实现高度的自定义。

以下是我的配置文件,创建不同的文件能生成语言(Python, C, Java, shell等)对应的文件头,并且在每次保存文件时记录当前时间。

{
    "explorer.confirmDragAndDrop": false,
    "C_Cpp.updateChannel": "Insiders",
    "workbench.startupEditor": "newUntitledFile",
    "workbench.colorTheme": "Monokai",
    "explorer.confirmDelete": false,
    "python.dataScience.sendSelectionToInteractiveWindow": true,
    "terminal.integrated.shell.osx": "/bin/zsh",
    "window.zoomLevel": 0,
    "psi-header.config": {
		"forceToTop": true,
		"blankLinesAfter": 2,
		"license": "Custom"
	},
	"psi-header.changes-tracking": {
		"isActive": true,
		"modAuthor": "Modified By: ",
		"modDate": "Last Modified: ",
		"modDateFormat": "date",
		"include": [],
		"exclude": [
			"markdown",
			"json"
		],
		"includeGlob": [],
		"autoHeader": "manualSave"
	},
	"psi-header.license-text": [
		"It is never too late to be what you might have been."
	],
	"psi-header.variables": [
		["company", "FANTASY"],
		["author", "JXF"],
		["authoremail", "fantasy@jxf.com"]
	],
	"psi-header.lang-config": [
		{
			"language": "lua",
			"begin": "--[[",
			"prefix": "--",
			"end": "--]]",
			"blankLinesAfter": 0
		},
		{
			"language": "python",
			"begin": "###",
			"prefix": "# ",
			"end": "###",
			"blankLinesAfter": 0,
			"beforeHeader": [
				"#!/usr/bin/env python3",
				"# -*- coding:utf-8 -*-"
			]
        },
        {
            "language": "shellscript",
			"begin": "#---------------------------------------------------------------------------",
			"prefix": "# ",
			"end": "#---------------------------------------------------------------------------",
			"blankLinesAfter": 0,
			"beforeHeader": [
				"#!/bin/sh"
            ]
        },
		{
			"language": "javascript",
			"begin": "/**",
			"prefix": " * ",
			"end": " */",
			"blankLinesAfter": 2,
			"forceToTop": false
		},
		{
			"language": "typescript",
			"mapTo": "javascript"
		}
	],
	"psi-header.templates": [
        {
            "language": "*",
            "template": [
                "File: <<filename>>",
                "Created Date: <<filecreated('YYYY-MM-DD')>>",
				"Author: <<author>>",
				"Contact: <<<authoremail>>>",
                "",
                "Last Modified: <<dateformat('dddd MMMM Do YYYY h:mm:ss a')>>",
				"",
				"Copyright (c) <<year>> <<company>>",
				"<<licensetext>>",
				"-----",
				"HISTORY:",
				"Date      \t By\tComments",
				"----------\t---\t----------------------------------------------------------"
			],
            "changeLogCaption": "HISTORY:",
            "changeLogHeaderLineCount": 2,
            "changeLogEntryTemplate": [
                "",
                "<<dateformat(DD-MM-YYYY)>>\t<<initials>>\t"
            ]
        },
		{
			"language": "javascript",
			"template": [
				"File: <<filepath>>",
				"Project: <<projectpath>>",
				"Created Date: <<filecreated('YYYY-MM-DD  h:mm:ss')>>",
				"Author: <<author>>",
				"-----",
				"Last Modified: ",
				"Modified By: ",
				"-----",
				"Copyright (c) <<year>> <<company>>",
				"------------------------------------",
				"Javascript will save your soul!"
			]
		},
		{
			"language": "typescript",
			"mapTo": "javascript"
        }
	],
	"python.pythonPath": "/anaconda3/bin"
}
  • Python

在新建Python文件时会自动生成以下的文件头:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
###
# File: sift.py
# Created Date: 2019-09-10
# Author: JXF
# Contact: <fantasy@jxf.com>
# 
# Last Modified: Tuesday September 10th 2019 10:12:25 pm
# 
# Copyright (c) 2019 KKWorld
# It is never too late to be what you might have been.
# -----
# HISTORY:
# Date      	 By	Comments
# ----------	---	----------------------------------------------------------
###
  • C/C++
/*
 * File: test.cpp
 * Created Date: 2019-09-10
 * Author: jxf
 * Contact: <fantasy@jxf.com>
 * 
 * Last Modified: Tuesday September 10th 2019 10:17:39 pm
 * 
 * Copyright (c) 2019 KKWorld
 * It is never too late to be what you might have been.
 * -----
 * HISTORY:
 * Date      	 By	Comments
 * ----------	---	----------------------------------------------------------
 */
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值