Vscode 快捷键生成代码片段

news/2024/7/16 7:13:16 标签: vscode, ide, 编辑器

Vscode 快捷键生成代码片段

  • 1. 网站工具
  • 2. 自动生成日期及自动定位光标
  • 3. 码片段配置步骤
  • 4. 我的代码片段

1. 网站工具

需要借助的网站(可快速生成vscode需要的代码片段格式): https://snippet-generator.app/

使用说明:
如下图是我所需要生成的vue3.2的初始化基础常用代码:
在这里插入图片描述

首先在vscode编辑器中编辑好需要的代码,全部复制到 https://snippet-generator.app/ 网站的左侧,并输入英文的描述,及快捷键。右侧会生成需要的代码片段。

在这里插入图片描述



2. 自动生成日期及自动定位光标

  • 日期:
    在这里插入图片描述

    ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE} 
    ${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}
    
  • 光标
    使用快捷键生成代码片段后,光标会自动定位到该符号位置,编辑完成后,按 TAb 键会自动跳转到下一个符号(从$0开始,$0是第一个光标定位处)
    在这里插入图片描述



3. 码片段配置步骤

  • 配置
    个人感觉无需区分文件类型,配置繁琐,在全局配置即可
    在这里插入图片描述
  • 测试效果
    在这里插入图片描述



4. 我的代码片段

{
  "create-script-setup": {
    "prefix": "3.2",
    "body": [
      "<template>\"$2\"</template>",
      "",
      "<script lang=\"ts\" setup></script>",
      "",
      "<style lang=\"less\" scoped></style>"
    ],
    "description": "create-script-setup"
  },
  "创建请求接口的基础代码片段": {
    "prefix": "capi", // 快捷键
    // "scope": "javascript,typedcript",
    "body": [
      "  // 初始化请求页面数据",
      "  // import { ElMessage } from 'element-plus';$0",
      "  const loading = ref(false);",
      "  const init = () => {",
      "    loading.value = true;",
      "    // queryApi()",
      "    //   .then((res: Record<string, any>) => {",
      "    //     console.log(1111, res);",
      "    //     if (200 === res.code) {",
      "    //       // 处理数据",
      "    //     } else {",
      "    //       ElMessage.error('xxxxx查询失败:' + res.message);",
      "    //     }",
      "    //   })",
      "    //   .catch((error) => {",
      "    //     ElMessage.error('xxxxx查询失败:' + error);",
      "    //   })",
      "    //   .finally(() => {",
      "    //     loading.value = false;",
      "    //   });",
      "  };",
      "",
      "  onBeforeMount(() => {",
      "    init();",
      "  });"
    ],
    "description": "创建请求接口的基础代码片段"
  },
  "创建vue3.2模板代码、基础常用代码": {
    "prefix": "c32", // 快捷键
    "body": [
      "<!--",
      " * @Description: $1",
      " * @Author: huangwm",
      " * @Create: ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE} ${CURRENT_HOUR}:${CURRENT_MINUTE}:${CURRENT_SECOND}",
      "-->",
      "<template>",
      "  <div>$2</div>",
      "</template>",
      "",
      "<script lang=\"ts\" setup>",
      "  import { ElMessage } from 'element-plus';",
      "  import { defineProps, toRefs, PropType, computed, ref, onBeforeMount, reactive } from 'vue';",
      "",
      " type CustomPropsType = {",
      "    // TODO",
      "    id: number;",
      "    data: string;",
      "  };",
      "  const emit = defineEmits(['test']);",
      "  const props = defineProps({",
      "    visible: {",
      "      type: Boolean,",
      "      default: true,",
      "    },",
      "    pageData: {",
      "      type: Object as PropType<CustomPropsType>,",
      "      default: () => [],",
      "    },",
      "  });",
      "",
      "  // 初始化请求页面数据",
      "  const loading = ref<boolean>(false);",
      "  const init = () => {",
      "    loading.value = true;",
      "    // queryApi()",
      "    //   .then((res: Record<string, any>) => {",
      "    //     console.log(1111, res);",
      "    //     if (200 === res.code) {",
      "    //       // 处理数据",
      "    //     } else {",
      "    //       ElMessage.error('xxxxx查询失败:' + res.message);",
      "    //     }",
      "    //   })",
      "    //   .catch((error) => {",
      "    //     ElMessage.error('xxxxx查询失败:' + error);",
      "    //   })",
      "    //   .finally(() => {",
      "    //     loading.value = false;",
      "    //   });",
      "  };",
      "",
      "  onBeforeMount(() => {",
      "    init();",
      "  });",
      " </script>",
      "",
      "<style lang=\"less\" scoped></style>"
    ],
    "description": "创建vue3.2模板代码、基础常用代码"
  }
}


http://www.niftyadmin.cn/n/1263602.html

相关文章

触发dblclick事件时,避免触发click事件-实例

正常情况下触发双击dblclick事件时会同时触发两遍单击click事件&#xff0c;这肯定不是我们想要的结果&#xff0c;那么如何避免伴随触发click事件呢&#xff1f; 浏览器监听双击事件的机制是&#xff0c;有没有在一定时间内监听到两次连续的单击事件&#xff0c;从这个角度出发…

Vue3+Element-Plus,重置指定表单项

1. 需求情景&#xff1a; 在已有表单的基础上&#xff0c;添加一个支持行内编辑的表格&#xff0c; 编辑的数据也需要校验。 2. 问题描述 由于数据交互的问题&#xff0c;这部分单独封装了一个table&#xff0c;但是并没有用form&#xff0c;而是借用父组件的form&#xff…

程序员在工作中需要养成的9个工作习惯

相信每个人在工作中都遇到过坑队友&#xff0c;也遇到过合作起来特别愉快的队友&#xff0c;其中的滋味想必大家都深有体会。那换位思考一下&#xff0c;从我们自身出发&#xff0c;如何能让我们的队友乐于与我们合作呢&#xff1f;以下是我在工作中养成的9个习惯&#xff0c;对…

iconfont动态加载不转义的问题

阿里的iconfont大家都不陌生&#xff0c;其中一种使用方式就是使用Unicode&#xff0c;示例如下 <i class"iconfont">&#xe700;</i> 在我的项目中&#xff0c;icon是不固定的&#xff0c;由数据动态决定&#xff0c;使用方法如下 <i class"…

与 || 运算的返回结果

下面几句代码&#xff0c;输出的结果是什么&#xff1f; var a; var b a && a; var c a || a; console.log(b:,b); console.log(c:,c);var d {d:1}; var e d && d; var f d || d; console.log(e:,e); console.log(f:,f); 想清楚答案后&#xff0c;可以把…

let、const、var定义变量的区别

一、作用域 let&#xff1a;没有变量提升&#xff0c;且定义的变量只在let命令所在的代码块中生效&#xff0c;在定义之前使用&#xff0c;会报错 const&#xff1a;同let var&#xff1a;变量会被提升&#xff0c;在全局范围内都有效&#xff0c;且可在变量定义之前使用 二、…

el-tabs标签延迟渲染,解决父子组件异步数据传递问题

用el-tabs很多次了&#xff0c;今天才注意到tab-pane上提供了一个lazy属性&#xff0c;对于解决父子组件数据传递问题很有帮助。 举个例子&#xff0c;下面的父组件中调用了子组件child&#xff0c;并传递了一组数据&#xff0c;但这组数据是由接口请求返回的。 <!--父组件…