您的位置:首页 > 编程语言

vscode 如何创建自定义代码片段

2018-04-13 12:10 1211 查看
这里以创建一个 php class 代码片段为例:

command+shift+p
输入 snippet;

选择
Preferences: Configure User Snippets


然后输入
php
回车。

注意:步骤 3 要根据你想创建的代码片段所属文件类型进行选择,比如你想创建 java 代码片段,就需要输入 java。如果想创建不区分文件类型的全局代码片段,需要输入
glo
选择
New Globle Snippets file
之后回车。

此时编辑器打开一个 php.json 文件,修改为以下内容:

{
// Place your snippets for php here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
"Class File Header": {
"prefix": "myclass",
"body": [
"/**",
" * $1",
" * ",
" * @author whoru.S.Q <whoru@sqiang.net>",
" * @created $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
" */",
"class ${2:ClassName} ${3:extends ${4:AnotherClass}} ${5:implements ${6:Interface}}",
"{",
"\n\t${7:public} function ${8:methodName}($9)",
"\t{",
"\t\t$0",
"\t}\n",
"}"
],
"description": "class with header"
}
}

保存之后,打开一个 php 文件,输入前缀
myclass
出现快捷提示窗后回车,此时已经生成了我们自定义的代码片段结构,依次按
tab
键切换到预设的每一个位置进行更改,即可快速创建我们需要的代码。





基本语法说明

prefix
触发快捷提示的字符串前缀

body
代码片段主体

$num
是每次按
tab
键光标移动对位置,
$0
表示光标最后停留位置,不设置
$0
,这光标最终位置在文件末尾;

${2:默认文本}
跳转到指定位置到同时选中默认文本,方便修改;

$CURRENT_YEAR
是引用的 snippets 内置变量,其它还有:

TM_FILENAME 当前文件名

TM_FILENAME_BASE 当前文件名,不带扩展名

TM_DIRECTORY 当前文件所属目录的绝对路径

TM_FILEPATH 当前文件的绝对路径

CURRENT_YEAR 当前年份

CURRENT_YEAR_SHORT 当前年份,最后两位数字

CURRENT_MONTH 当前月份数字形式,两位表示

CURRENT_MONTH_NAME 当前月份英文形式,如 July

CURRENT_MONTH_NAME_SHORT 当前月份英文缩写形式,如 Jul

CURRENT_DATE 当前日

CURRENT_DAY_NAME 当前星期,如 Monday

CURRENT_DAY_NAME_SHORT 当前星期缩写形式,如 Mon

CURRENT_HOUR 当前小时,24小时格式,两位表示

CURRENT_MINUTE 当前分钟,两位表示

CURRENT_SECOND 当前秒,两位表示

\n
换行

\t
制表符

description
快捷提示窗对该代码片段对描述

更多功能,请参照

https://code.visualstudio.com/docs/editor/userdefinedsnippets

https://blog.csdn.net/maokelong95/article/details/54379046
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息