代码规范
为了增强代码的可读性以及更方便的对工程进行规范化管理,通常需要在文件头部添加诸如协议、文件描述、作者信息等统一的标识。复制粘贴显得略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", "[email protected]"]
],
"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: <>" ,
"Created Date: <>" ,
"Author: <>" ,
"Contact: <<>>" ,
"",
"Last Modified: <>" ,
"",
"Copyright (c) <> <>" ,
"<>" ,
"-----",
"HISTORY:",
"Date \t By\tComments",
"----------\t---\t----------------------------------------------------------"
],
"changeLogCaption": "HISTORY:",
"changeLogHeaderLineCount": 2,
"changeLogEntryTemplate": [
"",
"<>\t<>\t"
]
},
{
"language": "javascript",
"template": [
"File: <>" ,
"Project: <>" ,
"Created Date: <>" ,
"Author: <>" ,
"-----",
"Last Modified: ",
"Modified By: ",
"-----",
"Copyright (c) <> <>" ,
"------------------------------------",
"Javascript will save your soul!"
]
},
{
"language": "typescript",
"mapTo": "javascript"
}
],
"python.pythonPath": "/anaconda3/bin"
}
在新建Python文件时会自动生成以下的文件头:
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
###
# File: sift.py
# Created Date: 2019-09-10
# Author: JXF
# Contact:
#
# 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
# ---------- --- ----------------------------------------------------------
###
/*
* File: test.cpp
* Created Date: 2019-09-10
* Author: jxf
* Contact:
*
* 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
* ---------- --- ----------------------------------------------------------
*/