首页 > 其他分享 >VsCode 如何自定义代码片段(Code Snippet)

VsCode 如何自定义代码片段(Code Snippet)

时间:2024-10-14 23:18:57浏览次数:8  
标签:片段 Code log 自定义 VsCode 代码 占位

前言

在现代前端开发中,提高工作效率是每个开发者的追求。Visual Studio Code(Vscode)作为一款强大的代码编辑器,提供了许多让开发者高效编程的功能,其中自定义代码片段(Code Snippet)便是一个重要的工具。
通过自定义代码片段,你可以快速插入常用的代码模板,大幅减少重复工作量。本文将详细讲解如何在 Vscode 中创建和管理自定义代码片段。

什么是代码片段?

代码片段(Code Snippet)是一段可重用的代码模板,它可以包含变量、占位符和自定义文本。当你触发这个片段时,编辑器会自动插入相应的代码结构,并允许你迅速填充内容。

步骤一:打开用户代码片段配置

  1. 启动 Vscode:首先,启动你的 Visual Studio Code 编辑器。
  2. 打开命令面板:按下 Ctrl + Shift + P 或 Cmd + Shift + P(Mac)打开命令面板。
  3. 搜索“Preferences: Configure User Snippets”:在命令面板中输入 Preferences: Configure User Snippets,然后按下回车。
    在这里插入图片描述

步骤二:选择编程语言或全局片段

在打开的配置界面中,你可以选择为特定编程语言创建代码片段,或者选择 New Global Snippet file… 创建一个全局代码片段,适用于所有文件。
[Image]

例如,我们选择创建一个 JavaScript 的代码片段文件:

{
    "Print to console": {
        "prefix": "log",
        "body": [
            "console.log('$1');",
            "$2"
        ],
        "description": "Log output to console"
    }
}

上面的 JSON 格式代码定义了一个简单的代码片段:

  • prefix:触发该片段的快捷方式。当你在编辑器中输入 log 并按下 Tab 键时,将会触发这个片段。
  • body:片段的具体内容。可以使用 $1, $2 等占位符来表示光标的位置。$1 表示第一个占位符,$2 表示第二个占位符。
  • description:对片段的简短描述。

步骤三:使用代码片段

  1. 输入前缀:回到你的代码编辑区域,输入你在片段中定义的前缀,例如 log。
  2. 触发片段:按下 Tab 键,你会看到 console.log(‘’); 被自动插入,并且光标位于单引号内,等待你输入内容。
    [Image]

高级用法:

动态占位符和选择

你还可以使用更多高级特性来增强代码片段的功能:

  • 变量(变量名):如 ${TM_FILENAME} 可自动插入当前文件名。
  • 选择(选择部分):如 ${1|one,two,three|},用户可以在 one, two, three 之间进行选择。

示例

{
    "Create React Component": {
        "prefix": "rcc",
        "body": [
            "import React, { Component } from 'react';",
            "",
            "class ${1:ComponentName} extends Component {",
            "  constructor(props) {",
            "    super(props);",
            "    this.state = { };",
            "  }",
            "",
            "  render() {",
            "    return (",
            "      <div>",
            "        ${2:Content}",
            "      </div>",
            "    );",
            "  }",
            "}",
            "",
            "export default ${1:ComponentName};"
        ],
        "description": "Create a React component with ES6 class syntax"
    }
}

上面的示例展示了如何创建一个 React 组件片段,并使用占位符来快速生成代码结构。

总结

自定义代码片段是 Vscode 提高编程效率的强大工具。通过设置前缀、定义代码模板和使用占位符,你可以大幅减少重复性工作,专注于业务逻辑的实现。希望通过本文的讲解,你能够熟练掌握 Vscode 中自定义代码片段的技巧,提升开发效率。

标签:片段,Code,log,自定义,VsCode,代码,占位
From: https://blog.csdn.net/m0_37890289/article/details/142931478

相关文章

  • HTML DOM 教程---操作自定义属性(2)
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=d......
  • [LeetCode] 662. 二叉树最大宽度
    题目描述:给你一棵二叉树的根节点 root ,返回树的 最大宽度 。树的 最大宽度 是所有层中最大的 宽度 。每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这......
  • 解决 Maven 插件报错:The plugin org.codehaus.mojo:flatten-maven-plugin:1.5.0 requi
    检查Maven版本:首先,确认当前使用的Maven版本是否与插件要求的版本一致。可以通过在命令行中输入 mvn-v 来查看当前Maven的版本信息。升级或降级Maven版本:如果当前Maven版本过低,需要升级到插件要求的版本;如果过高,可能需要降级。升级或降级Maven可以参考Maven的官......
  • leecode 数据库: 534. 游戏玩法分析 III
    表:Activity+--------------+---------+|ColumnName|Type|+--------------+---------+|player_id|int||device_id|int||event_date|date||games_played|int|+--------------+---------+(player_id,event_date)是此表的......
  • Leetcode_exercise_01
    题目两数之和枚举所有可能的两个不同的数字之和,与target做比较。哈希表查询//方法一:classSolution{public:vector<int>twoSum(vector<int>&nums,inttarget){intn=nums.size();for(inti=0;i<n;++i){......
  • [SWPUCTF 2023 秋季新生赛]Shellcode WriteUp
    题目地址:https://www.nssctf.cn/problem/4546主要思路:利用Pwntools发送字节码调用执行execve("/bin/sh",NULL,NULL)实现要点:一定要添加context.binary='./shellcode'解释:pwntools的一个设置,用来指定目标二进制文件,以便于获取它的相关信息,如系统架构,操作系统类型等细节ex......
  • (nice!!!)(LeetCode) 1884. 鸡蛋掉落-两枚鸡蛋(动态规划 dfs递归和递推 || 数学)
    题目:1884.鸡蛋掉落-两枚鸡蛋方法一:动态规划dp+递归dfs+记忆化搜索。时间复杂度0(n^2)。C++版本:classSolution{public: //状态sta[i]表示:i层找到f所需要的最小操作次数intsta[1010];inttwoEggDrop(intn){ //层数为0时,直接返回0if(n==0......
  • C++在vscode中的code runner配置/环境配置
    C++在vscode中快捷运行(coderunner)一、配置tasks.json在vscode中创建文件夹或打开文件夹,会发现文件夹下多了一个.vscode文件夹,在该文件夹下创建tasks.json文件,并添加一下内容{"version":"2.0.0","tasks":[{"type":"shell","la......
  • 闯关leetcode——94. Binary Tree Inorder Traversal
    大纲题目地址内容解题代码地址题目地址https://leetcode.com/problems/binary-tree-inorder-traversal/description/内容Giventherootofabinarytree,returntheinordertraversalofitsnodes’values.Example1:Input:root=[1,null,2,3]Outpu......
  • 闯关leetcode——100. Same Tree
    大纲题目地址内容解题代码地址题目地址https://leetcode.com/problems/same-tree/description/内容Giventherootsoftwobinarytreespandq,writeafunctiontocheckiftheyarethesameornot.Twobinarytreesareconsideredthesameifthey......