10. VS Code 添加自定义代码块详细教程 及 部分代码块

1. 先 选择 首选项 里面的 代码片段 (建议直接选择 全局作用域)

image

<br />

2. Vue 部分代码块

{
    // Place your 全局 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and 
    // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope 
    // is left empty or omitted, the snippet gets applied to all languages. 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: 例如
    // "Print to console": {
    //  "scope": "javascript,typescript",
    //  "prefix": "log",
    //  "body": [
    //      "console.log('$1');",
    //      "$2"
    //  ],
    //  "description": "Log output to console"
    // }
    // 代码块里面的 命令 解析
    // scope:作用文件类型。 例如: 指定作用范围类型"css, javascript"   建议 不用添加这个属性
    // prefix: 触发代码块的字符串。  唤醒代码块的 快捷命令
    // body:代码块的主体内容。
    // description:代码块的简单介绍与描述。
    // 重要:
    // 1  代码块书写格式:  在 原文件 中 将代码粘贴过来、 每一行的代码都需要加上 双引号 ""
    // 2. $ 在代码块里不显示的问题、  $$ 打两个 $ 即可。 第二个 $ 会被展示出来
    // 3. 多个代码块用逗号 ,  隔开
    // 4. Expected comma;缺少逗号的意思。 检查代码块前后是否缺少逗号。
    // 5. 选中一样的英语词, 再按快捷键 Ctrl + D 就可以将多个一样的英文词快速选中
    "message error": {
        "prefix": "error", //唤醒代码块的命令
        "body": [
            "this.$$message.error('获取参数列表失败!')",
        ], //代码块的主体
        "description": "error" // 获取参数错误提示
    },
    "message success": {
        "prefix": "success", //唤醒代码块的命令
        "body": [
            "this.$$message.success('获取参数列表成功!')",
        ], //代码块的主体
        "description": "success" // 获取参数成功提示
    },
    "message info": {
        "prefix": "info", //唤醒代码块的命令
        "body": [
            "this.$$message.info('获取参数提示信息!')",
        ], //代码块的主体
        "description": "info" // 获取参数成功提示
    },
    "message warning": {
        "prefix": "warning", //唤醒代码块的命令
        "body": [
            "this.$$message.warning('获取参数提示信息!')",
        ], //代码块的主体
        "description": "warning" // 获取参数警告提示
    },
    // vue 单文件 代码块
    "message vueComponent": {
        "prefix": "vueComponent", //唤醒代码块的命令
        "body": [
            "<template>",
            "<div>",
            "这是 Home 根组件",
            "</div>",
            "</template>",
            "<script>",
            "export default {",
            "data() {",
            "return {};",
            "},",
            "created() {},",
            "methods: {},",
            // 计算属性
            "computed: {},",
            "}",
            "</script>",
            // scoped 防止 css 重叠
            // 注意: 这里是单引号  (但应该是双引号)
            "<style lang='less' scoped>",
            "</style>",
        ], //代码块的主体
        "description": "vueComponent" // 获取参数成功提示
    },
    // 搭建 axios 请求路径
    "message axiosPath": {
        "prefix": "axiosPath", //唤醒代码块的命令
        "body": [
            // 导入 axios 并设置 默认地址
            "import axios from 'axios'",
            "axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'",
            "Vue.prototype.$http = axios",
            // 调用接口
            //   获取左侧菜单数据
            "async getMenuList() {",
            "const {data: res} = await this.$$http.get('menus')",
            "console.log(res)",
            "}",
        ], //代码块的主体
        "description": "axiosPath" // 配置 axios 的请求路径
    },
    // 发送 http 请求代码块 get 请求
    "message get": {
        "prefix": "get", //唤醒代码块的命令
        "body": [
            // 在发送请求之前, 需要添加 awiat  和 async  async 是添加在父级函数上
            "const {data: res} = await this.$$http.get('')",
        ], //代码块的主体
        "description": "get" // 获取参数错误提示
    },
    // post 请求
    "message post": {
        "prefix": "post", //唤醒代码块的命令
        "body": [
            // 在发送请求之前, 需要添加 awiat  和 async  async 是添加在父级函数上
            "const {data: res} = await this.$$http.post('')",
        ], //代码块的主体
        "description": "post" // 获取参数错误提示
    },
    // put 请求
    "message put": {
        "prefix": "put", //唤醒代码块的命令
        "body": [
            // 在发送请求之前, 需要添加 awiat  和 async  async 是添加在父级函数上
            "const {data: res} = await this.$$http.put('')",
        ], //代码块的主体
        "description": "put" // 获取参数错误提示
    },
    // delete 请求
    "message delete": {
        "prefix": "delete", //唤醒代码块的命令
        "body": [
            // 在发送请求之前, 需要添加 awiat  和 async  async 是添加在父级函数上
            "const {data: res} = await this.$$http.delete('')",
        ], //代码块的主体
        "description": "delete" // 获取参数错误提示
    },
    //  添加 全局样式 global
    "message global": {
        "prefix": "global", //唤醒代码块的命令
        "body": [
            "html, body, #app {",
            "height: 100%;",
            "margin: 0;",
            "padding: 0;",
            "}",
            // 导入 css 全局样式  在main.js中导入 css文件
            // 不要忘记导入到某一个 css 的页面
            "import './assets/css/global.css'",
        ], //代码块的主体
        "description": "global" // 获取参数错误提示
    },
    // vue table 展开列 和 索引列
    "message expand": {
        "prefix": "expand", //唤醒代码块的命令
        "body": [
            "<!-- 展开列  下面的单引号建议改为双引号 -->",
            "<el-table-column type='expand'></el-table-column>",
            "<!-- 添加 index 索引 -->",
            "<el-table-column type='index' label='#'></el-table-column>",
        ], //代码块的主体
        "description": "expand" // 获取参数错误提示
    },
    // vue form 表单重置
    "message reset": {
        "prefix": "reset", //唤醒代码块的命令
        "body": [
            // 重置表单  addFormRef 是表单的引用
            "this.$$refs.addFormRef.resetFields()",
        ], //代码块的主体
        "description": "reset" // 获取参数错误提示
    },
    // vue form 表单预验证
    "message valid": {
        "prefix": "valid", //唤醒代码块的命令
        "body": [
            // 表单预验证  addFormRef 是表单的引用
            "this.$refs.addFormRef.validate(valid => {",
            // console.log(validate) 返回 的是 false 和 true
            // true 表示 预验证 通过、 false 表示 预验证 没通过
                "if(!valid) {",
                  "return this.$$message.error('请添加必要的参数项!!')",
                "}",
                // 执行添加的业务逻辑  表单校验完成后, 就可以发起请求了
                "this.$$message.success('成功!')",
        
              "})",
        ], //代码块的主体
        "description": "valid" // 获取参数错误提示
    },
    // vue Message Box 弹框
    "message messageBox": {
        "prefix": "messageBox", //唤醒代码块的命令
        "body": [
            // 根据Id删除对应的用户信息
            "async removeUserById() {",
            "const confirmResult = await this.$$confirm('此操作将永久删除该用户, 是否继续?', '提示', {",
            "confirmButtonText: '确定',",
            "cancelButtonText: '取消',",
            "type: 'warning'",
            "}).catch( err => {",
            "return err",
            "})",
            // 如果用户确认删除,则返回值为字符串 confirm
            // 如果用户取消了删除,则返回值为字符串 cancel
            // console.log(confirmResult)
            "if(confirmResult !== 'confirm') {",
            "return this.$$message.info('已取消删除该用户')",
            "}",
            "console.log('删除成功')",
        ], //代码块的主体
        "description": "messageBox" // Message Box 弹框
    },
    // console.log() 代码块
    "message log": {
        "prefix": "log", //唤醒代码块的命令
        "body": [
            "console.log('ok')",
        ], //代码块的主体
        "description": "log" // log 的代码块
    },
    // 作用域插槽 代码块
    "message scope": {
        "prefix": "scope", //唤醒代码块的命令
        "body": [
            "<template slot-scope='scope'>",
            "</template>"
        ], //代码块的主体
        "description": "scope" // scope 的代码块
    },
    // 定义全局的时间过滤器 dataFormat 调用
    "message dataFormat": {
        "prefix": "dataFormat", //唤醒代码块的命令
        "body": [
            // 定义一个全局的 时间过滤器
            "Vue.filter('dataFormat', function(originVal) {",

                "const dt = new Date(originVal)",
            
                // 年月日 y-m-d
                "const y = dt.getFullYear()",
                // 月份是从 0 开始的,所以需要加1 
                // padStart() 方法用另一个字符串填充当前字符串
                "const m = (dt.getMonth() + 1 +'').padStart(2, '0')",
                "const d = (dt.getDate() + '').padStart(2, '0')",
            
                // 小时分钟秒  hh:mm:ss
                "const hh = (dt.getHours() + '').padStart(2, '0')",
                "const mm = (dt.getMinutes() + '').padStart(2, '0')",
                "const ss = (dt.getSeconds() + '').padStart(2, '0')",
            
                // return 年月日 时分秒
                "return `${y",
                            "}-${m",
                            "}-${d",
                            "} ${hh",
                            "}:${mm",
                            "}:${ss",
                            "}`",
            "})",
        ], //代码块的主体
        "description": "dataFormat" // 时间过滤器 将时间戳转换为年月日 时分秒
    },
    // 表单校验规则 required
    "message required": {
        "prefix": "required", //唤醒代码块的命令
        "body": [
            "{ required: true, message: '请输入商品名称', trigger: 'blur' },",
        ], //代码块的主体
        "description": "required" // 表单校验规则
    },
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容