vsCode与Hubilder中自定义代码块
平常测试vue的一些属性时总要新增代码,引入文件,麻烦,顾自定义代码块来实现快速新增测试
一、打开设置
1.1 vsCode设置

点击后选择代码块所属的文件类型,比如在html中则选择html类型配置,在js中选择js类型配置,在html后缀名文件中的js代码块在js类型配置
1.2 Hubilder 设置

点击后选择代码块所属的文件类型,比如在html中则选择html类型配置,在js中选择js类型配置,在html后缀名文件中的js代码块在js类型配置
2.配置说明
"html-vue": {
"prefix": "htmlvue",
"body": [
"<!DOCTYPE html>",
"<html lang=\"zh-CN\">\n",
"<head>",
"\t<meta charset=\"UTF-8\">",
"\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
"\t<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">",
"\t<title>Document</title>",
"\t<script src=\"https://cdn.jsdelivr.net/npm/vue@2.6.0\"></script>",
"</head>\n",
"<body>",
"\t<div id=\"app\">$1</div>\n",
"\t<script>",
"\t\tvar vm = new Vue({",
"\t\t\tel: '#app',",
"\t\t\tdata: {$0},",
"\t\t\tmethods: {}",
"\t\t});",
"\t</script>",
"</body>\n",
"</html>"
],
"description": "html vue"
},
key :代码块显示名称,显示在代码助手列表中的名字。key是不能重复的。
上面例子中"html-vue"就是一个key。
prefix:代码块的触发字符,就是敲什么字母可以激活这个代码块。
body:代码块的内容。内容中有如下特殊格式
双引号使用\"转义
换行使用多个数组表示,每个行一个数组,用双引号包围,并用逗号分隔
缩进需要用\t表示,不能直接输入缩进或空格!
triggerAssist :为true表示该代码块输入到文档后立即在第一个tabstop上触发代码提示,拉出代码助手,默认为false。
vsCode与Hubilder中的配置情况基本一致,有一个地方是差别的,差别如下:
Hubilder中输入html时提示列表显示的"html-vue",展示的是配置中的key,
vsCode中输入html时提示列表显示的"htmlvue",展示的是配置中的prefix,
因此建议在key和prefix的值设置为一样的,这样vscode和Hubilder完全一样

占位符 $
$ 后面紧跟数字可指定代码片段触发落入编辑器之后的光标位置,光标位置按照从小到大排序。 log 方法中当你输入 log + TAB 之后光标会默认落到 log() 的括号中($1 的位置),如果此时没有手动移动光标位置,再次按 TAB 则光标会落到 console.log() 的第二行( $2 的位置),当然,你也可以设置 $3、$4 ... 等等。需要特别注意的是 $0 用于设置最终光标的位置,设置了 $0 之后,再往后设置其他占位符则不会生效, $0 终止了 TAB键 的光标跳转操作或者初始光标。占位内容的可选项
"zs-Function": {
"prefix": "zs-Function",
"body": [
"/**",
" * @param name... { ${1|Boolean,Number,String,Object,Array|} }",
" * @description description...",
" * @return name... { ${2|Boolean,Number,String,Object,Array|} }",
" */",
"$0"
],
"description": "添加方法注释"
}
上面是一个简单的方法注释代码块,占位符默认不带可选项,如果要设置占位内容的可选项,写法为 ${1|a,b,c},括号中的 1 对应的是按 TAB 之后的光标落点顺序, abc 为可选的项,用逗号隔开。所以上面的代码在输入 zs + TAB 后第一个光标会落在 param name... {} 的大括号中($1 的位置),如下图可以看到设置的可选项。

选择了参数类型之后,再次按 TAB , 光标会自动落到返回参数类型处($2 的位置)并弹出可选项。如下所示:

选择了第二个选项之后,再次按 TAB ,光标自动落到我们配置的 $0 处,也就是 */ 的下一行:

需要注意的是:
- 如果可选择内容只有一个值的话可以写成
${1:default}的格式。 - 占位内容支持嵌套,比如
${1:another ${2:placeholder}}。
变量:使用 $name 或者 ${name:default} 可以插入变量的值。如果未设置变量,则会插入其默认值或空字符串。当变量未知(未定义其名称)时,会将插入的变量名称转换为占位符。
1)文档相关:
| 变量 | 变量含义 |
|---|---|
TM_SELECTED_TEXT |
当前选定的文本或空字符串 |
TM_CURRENT_LINE |
当前行的内容 |
TM_CURRENT_WORD |
光标下的单词内容或空字符串 |
TM_LINE_INDEX |
基于零索引的行号 |
TM_LINE_NUMBER |
基于单索引的行号 |
TM_FILENAME |
当前文档的文件名 |
TM_FILENAME_BASE |
当前文档没有扩展名的文件名 |
TM_DIRECTORY |
当前文档的目录 |
TM_FILEPATH |
当前文档的完整文件路径 |
CLIPBOARD |
剪贴板的内容 |
WORKSPACE_NAME |
已打开的工作空间或文件夹的名称 |
2)当前日期和时间:
| 变量 | 变量含义 |
|---|---|
CURRENT_YEAR |
当前年份 |
CURRENT_YEAR_SHORT |
当前年份的最后两位数 |
CURRENT_MONTH |
月份为两位数(例如'02') |
CURRENT_MONTH_NAME |
月份的全名(例如'June')(中文语言对应六月) |
CURRENT_MONTH_NAME_SHORT |
月份的简称(例如'Jun')(中文语言对应是6月) |
CURRENT_DATE |
这个月的哪一天 |
CURRENT_DAY_NAME |
当天是星期几(例如'星期一') |
CURRENT_DAY_NAME_SHORT |
当天是星期几的简称(例如'Mon')(中文对应周一) |
CURRENT_HOUR |
24小时时钟格式的当前小时 |
CURRENT_MINUTE |
当前分 |
CURRENT_SECOND |
当前秒 |
3)要插入行或块注释,请遵循当前语言:
| 变量 | 变量含义 |
|---|---|
BLOCK_COMMENT_START |
输出:PHP /*或HTML格式<!-- |
BLOCK_COMMENT_END |
输出:PHP */或HTML格式--> |
LINE_COMMENT |
输出:PHP //或HTML格式 |
案例:
下面的代码块是常用的文件顶部添加作者和时间的块注释,其中用到了年(CURRENT_YEAR)月(CURRENT_MONTH)日($CURRENT_DATE)的系统变量。
"author-time": {
"prefix": "author-time",
"body": [
"/**",
" * Created by preference on $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE",
" */",
"$0"
],
"description": "添加作者和时间注释"
}
案例
下面的代码块是新建 .Vue 文件的模板代码块,其中用到了当前文档没有扩展名的文件名(TM_FILENAME_BASE),默认把文件名填入 name 和 class 中。
"vue-template": {
"prefix": "vue-template",
"body": [
"<template>",
" <section class=\"$TM_FILENAME_BASE\">",
" $1",
" </section>",
"</template>\n",
"<script>",
"export default {",
" name: '$TM_FILENAME_BASE',",
" data() {",
" return {\n",
" }",
" },",
" components: {},",
" watch: {},",
" mounted() {},",
" methods: {}",
"}",
"</script>\n",
"<style scoped lang=\"less\">\n",
"</style>",
"$0"
],
"description": "Vue模板"
}
参考网站:https://juejin.im/post/5d0496415188257fff23b077
vsCode与Hubilder中自定义代码块的更多相关文章
- vscode自定义代码块
vscode中设置自定义代码块打开首选项,选择用户代码片段,打开后选择编程语言选中后打开文件,按照格式编辑内容 "Print to console log": { "pr ...
- Xcode自定义代码块
到现在才发现原来Xcode有自定义代码块这么神奇的功能,能简化很多无聊的敲重复代码的工作,真是感叹我怎么才知道!!! 具体的设置流程见:http://nshipster.cn/xcode-snippe ...
- webstrom自定义代码块的设置方法
webstrom里面的自定义代码块叫做活动模版 在文件 -> 设置 -> 编辑器 -> 活动模版可以打开 里面的$var$ 代表一个变量 两个相同的$var$在不全后可以同时修改, ...
- IDE MAC下的快捷键,自定义代码块。
快捷键 参考博客:http://blog.csdn.net/iguiyi/article/details/51853728 alt+f7查找在哪里使用 相当于eclipse的ctrl+shift+G ...
- Idea自定义代码块【学习笔记】
前言 idea有一个自定义代码块的功能,可以自定义代码块,方便以后工作中减少一些重复操作,这里就简单记录一下idea好用的模板吧,现在有一个关于日志的模板,用于写一个ServiceImpl方法的时候, ...
- ios开发xcode中设置代码块
在开发中有很多重复的代码,很多开发者把常用的代码做成代码块提高开发效率. 在xcode里选中代码块的时候总是很不容易,点击选中的代码(文字),不要移动和松开鼠标左键,当竖线变成像拉长了的x(我也不知道 ...
- java 子类、父类中静态代码块、字段,非静态代码块、字段以及构造函数的初始化顺序和次数
一个类中的数据初始化顺序是面试官非常喜欢出的面试题之一,本文用一个实例来介绍java中子类.父类中静态代码块.字段,非静态代码块.字段以及构造函数的执行顺序和次数. 一.包结构
- 【Java基础】2、Java中普通代码块,构造代码块,静态代码块区别及代码示例
Java中普通代码块,构造代码块,静态代码块区别及代码示例.Java中普通代码块,构造代码块,静态代码块区别及代码示例 执行顺序:静态代码块>静态方法(main方法)>构造代码块>构 ...
- Java 中静态代码块初始化问题测试
Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...
随机推荐
- 【C/C++开发】STL erase()函数使用要小心
http://blog.sina.com.cn/s/blog_67b6b720010114d3.html erase()函数的功能是用来删除容器中的元素 删除某个容器里的某个元素:c.erase(T) ...
- VMware vSphere6.0 服务器虚拟化部署安装图解(最全,最详细)-搭建的所有步骤
VMware vSphere6.0 服务器虚拟化部署安装图解 一 .VMware vSphere部署的前期规划要点 1.vSphere的优点 (略) 2如何利用现在的设备架构虚拟化环境 在虚拟化过程中 ...
- Word 自带公式使用方法技巧(11)
1. 快捷命令 在Word中输入「Alt+=」,可以打开Word中自带公式编辑器.这个编辑器似乎没有什么特别,但其实 Word 2010 以后是支持 LaTeX 语法的.常用规则如下: 分号: a/b ...
- logrus 剖析之滚动日志
在实际开发过程中,为了节省磁盘,日志需要按照时间或者大小维度进行切割分成多分,归档过期的日志,删除久远的日志.这个就是在日常开发中经常遇见的日志滚动(log rotation) 那么在 logrus ...
- Android手机的分区以及一些刷机术语的了解
最早以前的手机基本都是下载一个刷机软件(像刷机精灵.刷机大师),一键root,一键刷机,这就以前的傻瓜式刷机,至少我在高中(2015年开始接触)的时候也是这么干的.那时候,好像有种手机开机界面会出现“ ...
- 用PHP写PHP7扩展,超级简单对吧!
[图片打不开,请用代理] 介绍: PHP扩展是编译库,它允许在您的PHP代码中使用特定的功能(主要是使用C编写的php扩展). 例如,您需要使用PHP使用SQLite3,您可以实现自己的方法和功能来连 ...
- 10 查询字符串,X字段必须包含(不包含)XX;_all原理
指定某个字段,必须要包含XX字符 GET /beauties/my/_search?q=Name:Chang Wei 搜出 某个字段不包含XX字符 的所有内容 GET /beauties/my/_ ...
- Java 日期时间与unix时间戳之间转换
日期时间 <--> 时间戳 java.time 包提供的新的日期和时间API LocalDateTime: 本地日期时间类 ZoneId: 时区类 ZonedDateTime: 带时区 ...
- 单例模式的双重锁为什么要加volatile(转)
单例模式如下: 需要volatile关键字的原因是,在并发情况下,如果没有volatile关键字,在第5行会出现问题. instance = new TestInstance();可以分解为3行伪代码 ...
- fatal: 不是一个有效的对象名:'master'。
听说git比svn的branch功能好,所以装了个msysgit玩.执行完了git init操作后想建branch,用git branch develop命令,结果报错,说 fatal: Not a ...