自动根据模板插入header、body内容插件,觉得不错的小伙伴们请点个赞👍~
- 使用 cookiecutter-vscode创建项目
- 自定义模板
- 详细模板定义,请参考art-template
1. ctrl + shift + x
2. Search VSCodeFileHeader
or
1. ctrl + p
2. ext install jankincai.vscodefileheader
- 支持自动更新时间和作者
- 支持自定义模板(header/body)
- 支持内置多种语言模板
- 支持配置文件后缀名映射模板
- 支持过滤不需要插入header/body文件
- 支持vscode变量
- 支持远程同步模板(需要安装git)
通过ctrl + shift + p
调出vscode命令行界面,然后输入File Header
, 可以看到如下命令:
File Header: Add header comment
: 很少使用,如果ctrl+s
被禁用, 才会使用该命令。File Header: Crate template
: 必须设置自定义模板路径,才能创建新的模板。File Header: Open template
: 必须处于某个文件下,才能打开对应的模板文件进行修改,通常情况下不建议直接修改默认模板文件。File Header: Sync template
: 必须设置git远程地址,进行模板同步(git clone xxx)。
- ActionScript
- AppleScript
- ASP
- Batch
- C
- C#
- C++
- Clojire
- CSS
- D
- Dart
- Erlang
- Go
- Haskell
- HTML
- Java
- JavaScript
- LaTeX
- Lisp
- Lua
- Matlab
- Objective-C
- OCaml
- Pascal
- Perl
- PHP
- Python
- R
- Ruby
- Scala
- SCSS
- ShellScript
- SQL
- TypeScript
- Vue
- XML
- YAML
{
"fileheader.author": "JanKinCai",
}
{
# 设置用户名(作者)
"fileheader.author": "Your name",
# 设置是否插入body, 默认 false
"fileheader.body": true,
# 设置打开文件插入内容,默认 false
"fileheader.open": true,
# 设置保存文件是否插入内容,默认 true
"fileheader.save": true,
# 设置查找头部注释最大行号,默认 10
"fileheader.header_max_line": 10,
# 设置时间格式, 默认 YYYY-MM-DD HH:mm:ss
# moment.js
"fileheader.dateformat": "YYYY-MM-DD HH:mm:ss",
# 设置后缀映射模板
"fileheader.file_suffix_mapping": {
".pyx": "Python",
"jkc-*.h": "H"
},
# 设置过滤不插入模板
"fileheader.ignore": [
"*.txt",
"test.py",
"test/"
]
}
自定义模板Header template/header/Python.tmpl
:
# @Author: {{author}}
# @Date: {{create_time}}
# @Email: {{email}}
# @Last Modified by: JanKinCai
# @Last Modified time: 2021-04-25 01:48:27
自定义模板Body template/body/Python.tmpl
:
def main():
print("Hello, World!")
if __name__ == "__main__":
main()
设置自定义模板:
{
# 模板路径(绝对路径)
"fileheader.custom_template_path": "xxx/template/",
"fileheader.other_config": {
"email": "Your email",
}
# 设置后缀映射模板
"fileheader.file_suffix_mapping": {
".py": "Python"
},
}
自定义模板header template/header/JKC.tmpl
:
# @Name: {{name}}
# @Time: {{last_modified_time}}
# @Last Modified Author: {{name}}
# @Last Modified Time: {{last_modified_time}}
自定义模板body template/body/JKC.tmpl
:
配置:
{
"fileheader.is_header_exists": "@Name:", # 用于识别头部,避免重复插入
# 用于识别更新最后修改作者标志
"fileheader.update_last_modified_time_flags": "@Last Modified Time:",
# 用于识别更新最后修改时间标志
"fileheader.update_last_modified_author_flags": "@Last Modified Author:",
"fileheader.other_config": {
"name": "jankincai",
},
"fileheader.file_suffix_mapping": {
".jkc": "JKC"
},
}
https://code.visualstudio.com/docs/editor/variables-reference
自定义header template/header/Python.tmpl
:
# @Author: {{author}}
# @Date: {{create_time}}
# @Last Modified by: {{last_modified_by}}
# @Last Modified time: {{last_modified_time}}
# {{workspaceFolder}}
# {{workspaceFolderBasename}}
# {{file}}
# {{relativeFile}}
# {{relativeFileDirname}}
# {{fileBasename}}
# {{fileBasenameNoExtension}}
# {{fileDirname}}
# {{fileExtname}}
# {{cwd}}
{
"fileheader.custom_template_path": "xxx/template/",
# 设置 SSH https://jdblischak.github.io/2014-09-18-chicago/novice/git/05-sshkeys.html
# "fileheader.remote": "[email protected]:caizhengxin/fileheader-template.git"
"fileheader.remote": "https://github.com/caizhengxin/fileheader-template.git"
}
$ git clone https://github.com/caizhengxin/vscodefileheader.git
$ code vscodefileheader
$ f5 # Enter Developer or Debug mode
# node_modules目录不能被.vscodeignore过滤.
$ sudo npm i vsce -g
$ vsce login jankincai
$ vsce package
$ vsce publish