像 PyCharm 這樣功能的完整的 IDE 一般都會自動生成一些固定的代碼。
比如新建文件后在文件開頭生成日期、作者和文件路徑等等,還有創建類或函數時自動生成注釋。
VSCode 的 korofileheader
插件也可以實現類似的效果,安裝后按如下配置即可。
.vscode
目錄中的 settings.json
內容:
{
// 頭部注釋
"fileheader.customMade": {
// 頭部注釋默認字段
"Date": "Do not edit", // 設置后默認設置文件生成時間
"LastEditTime": "Do not edit", // 設置后,保存文件更改默認更新最后編輯時間
"Description": "",
},
// 函數注釋
"fileheader.cursorMode": {
// 默認字段
"param": "",
"return": ""
},
// 插件配置項
"fileheader.configObj": {
"autoAdd": true, // 檢測文件沒有頭部注釋,自動添加文件頭部注釋
"autoAddLine": 100, // 文件超過多少行數 不再自動添加頭部注釋
"autoAlready": true, // 只添加插件支持的語言以及用戶通過`language`選項自定義的注釋
"supportAutoLanguage": [], // 設置之后,在數組內的文件才支持自動添加
// 自動添加頭部注釋黑名單
"prohibitAutoAdd": [
"json",
"md"
],
"prohibitItemAutoAdd": [
"項目的全稱禁止項目自動添加頭部注釋, 使用快捷鍵自行添加"
],
"folderBlacklist": [
"node_modules"
], // 文件夾或文件名禁止自動添加頭部注釋
"wideSame": false, // 頭部注釋等寬設置
"wideNum": 13, // 頭部注釋字段長度 默認為13
"functionWideNum": 1, // 函數注釋等寬設置 設為0 即為關閉
// 頭部注釋第幾行插入
"headInsertLine": {
"python": 2 // php文件 插入到第二行
},
"beforeAnnotation": {}, // 頭部注釋之前插入內容
"afterAnnotation": {}, // 頭部注釋之后插入內容
"specialOptions": {}, // 特殊字段自定義
"switch": {
"newlineAddAnnotation": true // 默認遇到換行符(\r\n \n \r)添加注釋符號
},
"moveCursor": true, // 自動移動光標到Description所在行
"dateFormat": "YYYY-MM-DD HH:mm:ss",
"atSymbol": [
":",
":"
], // 更改所有文件的自定義注釋中的@符號
"atSymbolObj": {}, // 更改單獨語言/文件的@
"colon": [
": ",
": "
], // 更改所有文件的注釋冒號
"colonObj": {}, // 更改單獨語言/文件的冒號
"filePathColon": "路徑分隔符替換", // 默認值: mac: / window是: \
"showErrorMessage": false, // 是否顯示插件錯誤通知 用於debugger
"writeLog": false, // 錯誤日志生成
"CheckFileChange": false, // 單個文件保存時進行diff檢查
"createHeader": true, // 新建文件自動添加頭部注釋
"useWorker": false, // 是否使用工作區設置
"designAddHead": false, // 添加注釋圖案時添加頭部注釋
"headDesignName": "random", // 圖案注釋使用哪個圖案
"headDesign": false, // 是否使用圖案注釋替換頭部注釋
"cursorModeInternal": false, // 是否在函數內生成函數注釋
"cursorModeInternalAll": {
"python": true
}, // 自定義配置是否在函數內生成注釋 不同文件類型和語言類型
"openFunctionParamsCheck": true, // 開啟關閉自動提取添加函數參數
"functionParamsShape": [
"(",
")"
], // 函數參數外形自定義
"functionBlankSpace": 4, // 函數注釋空格縮進
"functionTypeSymbol": "object", // 參數沒有類型時的默認值
"typeParamOrder": "param type", // 參數類型 和 參數的位置自定義
// 自定義語言注釋符號,覆蓋插件的注釋格式
"language": {
// js后綴文件
"python": {
"head": "# -*- coding:utf-8 -*-\n\"\"\"",
"middle": ":",
"end": "\"\"\"",
// 函數自定義注釋符號:如果有此配置 會默認使用
"functionSymbol": {
"head": "\"\"\"", // 統一增加幾個*號
"middle": ":",
"end": "\"\"\"",
}
}
},
// 默認注釋 沒有匹配到注釋符號的時候使用。
"annotationStr": {
"head": "\"\"\"",
"middle": "",
"end": "\"\"\"",
"use": false
},
}
}