项目年久失修,又有各种个性化需求,无法满足需求,生成文件头的推荐用 snippets 代替本插件
Closed this issue · 0 comments
jawa0919 commented
项目年久失修,又有各种个性化需求,无法满足需求,生成文件头的推荐用 snippets 代替本插件
vscode 自带的 snippets 支持了很多语法,再与快捷键绑定设置,也可以方便生成自己的个性化的文件头
少了自动添加的过程。但是自动添加,其实也需要配置排除一下文件后缀,每个人的排除需求又不一样。还不如自己写。
这里贴出我的global.code-snippets
- 使用
$BLOCK_COMMENT_START
/$BLOCK_COMMENT_END
的注释代码块语法,适配语言 - 使用
${RELATIVE_FILEPATH/[\\\\]/\\//g}
得到当前文件相对项目的文件路径,并且统一路径分割符 - 使用
$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND
得到当前时间 - 使用
$2
表示第二个等待输出位置 - 使用
$1
表示第一个等待输出位置,Tab
键到第二个输出位置
{
"add file header": {
"prefix": "adf",
"body": [
"$BLOCK_COMMENT_START",
" @FilePath : ${RELATIVE_FILEPATH/[\\\\]/\\//g} ",
" @Date : $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND ",
" @Author : $2 ",
" @Description : $1 ",
"$BLOCK_COMMENT_END"
],
"description": "add file header"
}
}
部分文件表现
::: code-group
<!--
@FilePath : packages/lwx-jsb_web/index.html
@Date : 2024-04-02 01:50:26
@Author : jawa0919 <jawa0919@163.com>
@Description :
-->
<!--
@FilePath : packages/lwx-jsb_vue/src/App.vue
@Date : 2024-04-02 01:51:04
@Author : jawa0919 <jawa0919@163.com>
@Description :
-->
/*
@FilePath : packages/lwx-jsb/src/core.ts
@Date : 2024-04-02 01:49:53
@Author : jawa0919 <jawa0919@163.com>
@Description :
*/
/*
@FilePath : packages/lwx_jsb_lib/lib/lwx_jsb_lib.dart
@Date : 2024-04-02 01:42:49
@Author : jawa0919 <jawa0919@163.com>
@Description :
*/
"""
@FilePath : packages/lwx-jsb/test.py
@Date : 2024-04-02 01:54:06
@Author : jawa0919 <jawa0919@163.com>
@Description :
"""
:::
主流语言分注释分 html 系列的<!--
,java 系的/*
,我测试了 py 的是"""
。vscode 全都自动转换成功
我看有很多的issues
是获取用户名的问题,那这个可以使用 ${name:default}
的语法改成下面这样, 生成的 Author 会自动默认填充我的jawa0919 <jawa0919@163.com>
{
"add file header": {
"prefix": "adf",
"body": [
"$BLOCK_COMMENT_START",
" @FilePath : ${RELATIVE_FILEPATH/[\\\\]/\\//g} ",
" @Date : $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND ",
" @Author : ${2:jawa0919 <jawa0919@163.com> } ",
" @Description : $1 ",
"$BLOCK_COMMENT_END"
],
"description": "add file header"
}
}
快捷键绑定需要设置自定义,相关文件keybindings.json
[
{
"key": "ctrl+alt+1",
"command": "editor.action.insertSnippet",
"when": "editorTextFocus",
"args": {
"name": "add file header"
}
}
]
这样只需要ctrl+alt+1
就可以在光标出添加注释
我的完整global.code-snippets
{
"add file header": {
"prefix": "adf",
"body": [
"$BLOCK_COMMENT_START",
" @FilePath : ${RELATIVE_FILEPATH/[\\\\]/\\//g} ",
" @Date : $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND ",
" @Author : ${2:jawa0919 <jawa0919@163.com> } ",
" @Description : $1 ",
"$BLOCK_COMMENT_END",
],
"description": "add file header"
},
"add file header keyboard": {
"prefix": "adfkb",
"body": [
"$BLOCK_COMMENT_START",
" ┌─────────────────────────────────────────────────────────────┐",
" │┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐│",
" ││Esc│!1 │@2 │#3 │\\$4 │%5 │^6 │&7 │*8 │(9 │)0 │_- │+= │|\\ │`~ ││",
" │├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤│",
" ││ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │{[ │}] │ BS ││",
" │├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤│",
" ││ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │: ;│\" '│ Enter ││",
" │├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤│",
" ││ Shift │ Z │ X │ C │ V │ B │ N │ M │< ,│> .│? /│Shift │Fn ││",
" │└─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘│",
" │ │Fn │ Alt │ Space │ Alt │Win│ HHKB │",
" │ └───┴─────┴───────────────────────┴─────┴───┘ │",
" └─────────────────────────────────────────────────────────────┘",
"$BLOCK_COMMENT_END",
],
"description": "add file header keyboard"
},
"add file header sakyamuni": {
"prefix": "adfskm",
"body": [
"$BLOCK_COMMENT_START",
"",
" _oo0oo_",
" o8888888o",
" 88\" . \"88",
" (| -_- |)",
" 0\\ = /0",
" ___/`---'\\___",
" .' \\| |// '.",
" / \\\\||| : |||// \\",
" / _||||| -:- |||||- \\",
" | | \\\\\\ - /// | |",
" | \\_| ''\\---/'' |_/ |",
" \\ .-\\__ '-' ___/-. /",
" ___'. .' /--.--\\ `. .'___",
" .\"\" '< `.___\\_<|>_/___.' >' \"\".",
" | | : `- \\`.;`\\\\ _ /`;.`/ - ` : | |",
" \\ \\ `_. \\_ __\\ /__ _/ .-` / /",
" =====`-.____`.___ \\_____/___.-`___.-'===== ",
" `=---='",
"",
" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ",
" ",
"",
"$BLOCK_COMMENT_END",
],
"description": "add file header sakyamuni"
},
"todo snippet": {
"prefix": "todo",
"body": [
"$LINE_COMMENT TODO $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND $1"
],
"description": "new TODO snippet"
},
"fixme snippet": {
"prefix": "fixme",
"body": [
"$LINE_COMMENT FIXME $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND $1"
],
"description": "new FIXME snippet"
},
"console log with fliename lineNumber": {
"scope": "javascript,typescript,javascriptreact,typescriptreact",
"prefix": "log",
"body": [
"console.log($1,'$TM_FILENAME ~ $TM_LINE_NUMBER');"
],
"description": "console log snippet"
},
"debugPrint with fliename lineNumber": {
"scope": "dart",
"prefix": "log",
"body": [
"debugPrint('$1 $TM_FILENAME ~ $TM_LINE_NUMBER');"
],
"description": "debugPrint snippet"
}
}