iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >VSCode中如何用snippets来提升开发效率
  • 237
分享到

VSCode中如何用snippets来提升开发效率

2023-06-26 07:06:50 237人浏览 薄情痞子
摘要

小编今天带大家了解vscode中如何用snippets来提升开发效率,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“VSCode中如何

小编今天带大家了解vscode中如何用snippets来提升开发效率,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“VSCode中如何用snippets来提升开发效率”的知识吧。

snippets 是片段的意思,VSCode 支持自定义 snippets,写代码的时候可以基于它快速完成一段代码的编写。

不只是 VSCode,基本所有的主流编辑器都支持 snipeets。

一个功能被这么多编辑器都支持,那肯定是很有用的,但是这功能大多数人都没用起来。

我之前写的 snippets 文章中讲了 snippets 支持的各种语法和配置方式,但是并没有用这些来做一个真实的案例。

所以,这篇文章就来讲一个真实的 snippets,基本用到了所有的 snippets 语法。能独立把它写出来,就可以说 snippets 已经掌握了。

我们还是先回顾下 VSCode 的 snippets 语法

snippets 基础

snippets 是这样的 JSON 格式:

{    "alpha": {        "prefix": ["a", "z"],        "body": [            "abcdefghijklmnopqrstuvwxyz"        ],        "description": "字母",        "scope": "javascript"    }}
  • prefix 是触发的前缀,可以指定多个

  • body 是插入到编辑器中的内容,支持很多语法

  • description 是描述

  • scope 是生效的语言,不指定的话就是所有语言都生效

body 部分就是待插入的代码,支持很多语法,也是一种 DSL(领域特定语言)。

支持通过 $1、$2 指定光标位置:

"$1  xxxx","yyyy $2"

可以多光标同时编辑:

"$1  xxxx $1"

可以加上 placeholader,也可以做默认值:

"${1:aaa}  xxxx","yyyy ${2:bbb}"

可以提供多个值来选择:

"${1|卡颂,神光,yck|}最帅"

还提供了一些变量可以取:

"当前文件: $TM_FILENAME","当前日期: $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE"

而且还能对变量做正则替换:

"${TM_FILENAME/(.*)\\.[a-z]+/${1:/upcase}/i}"

基本语法过了一遍,大家知道支持啥就行,后面我们来做个真实的案例,把这些用一遍就会了。

通过 command + shift + p,输入 snippets 然后选择一种范围:

snippets 有 project、global、language 3 种生效范围。我个人写 global 级别的比较多,项目和语言级别的也可以。

基础过完了,接下来我们就来写一个 snippets 吧。

实战案例

我最近在做 Vue 的项目,写 router-link 比较多,所以封装了个 router-link 代码的 snippets。

我们先写个最简单的版本:

{    "routerLink": {        "prefix": "link",        "body": [            "<router-link to={ name:'xxx', params: {id: 1} } target='_blank'>link</router-link>"        ],        "description": "router-link 跳转"    }}

这个没啥好说的,就是根据前缀补全内容:

然后在 name、id、链接文字处加三个光标,也就是 $1、$2、$3:

{    "routerLink": {        "prefix": "link",        "body": [            "<router-link to={ name: $1, params: {id: $2} } target='_blank'>$3</router-link>"        ],        "description": "router-link 跳转"    }}

可以按 tab 键快速编辑其中变化的部分:

然后加上 placeholder:

{    "routerLink": {        "prefix": "link",        "body": [            "<router-link to={ name: '${1:RouteName}', params: {id: ${2:id}} } target='_blank'>${3:link}</router-link>"        ],        "description": "router-link 跳转"    }}

其实 target 部分也是可选的,这里我们用多选来做:

选项有两个,就是 target="_blank" 或者空格。

${3| ,target=\"_blank\"|}

所以 snippets 就变成了这样:

{    "routerLink": {        "prefix": "link",        "body": [            "<router-link to={ name: '${1:RouteName}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:link}</router-link>"        ],        "description": "router-link 跳转"    }}

跳转地址大多数是和当前文件名有关,比如 XxxYyyZzzList 跳转 XxxYyyZzzDetail 的比较多。

所以我们默认值取当前文件名,用 TM_FILENAME 变量(所有可用变量可以在 vscode 官网查):

${1:$TM_FILENAME}

现在的 snippets:

{    "routerLink": {        "prefix": "link",        "body": [            "<router-link to={ name: '${1:$TM_FILENAME}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:link}</router-link>"        ],        "description": "router-link 跳转"    }}

确实把文件名填上去了,但是还要手动改,能不能填上去的就是改了之后的呢?

可以,变量支持做 transfORM,也就是正则替换:

XxxList.vue 要取出 Xxx 来,然后拼上 Detail,这样的正则不难写:

js 写是这样的:

'XxxList.vue'.replace(/(.*)List\.vue/,'$1Detail')

在 snippets 里也差不多,只不过用 / 分开:

${TM_FILENAME/(.*)List\\.vue/$1Detail/i

所以 snippets 就变成了这样:

{    "routerLink": {        "prefix": "link",        "body": [            "<router-link to={ name: '${1:${TM_FILENAME/(.*)List\\.vue/$1Detail/i}}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:link}</router-link>"        ],        "description": "router-link 跳转"    }}

填入的代码都是替换好了的

链接的内容我们希望用选中的内容,这个也有变量,就是 TM_SELECTED_TEXT。

最后,我们希望 router-link 这个标签也可以变,而且改的时候开闭标签可以一起改。

这个要用多光标编辑,指定多个 $x 为同一个数字就行。

<${5:router-link}></${5:router-link}>

最终的 snippets是所有 snippets 语法都用了一遍。

完整 snippets 如下,大家可以在 VSCode 里用用看,用起来体验还是很爽的:

{    "routerLink": {        "prefix": "link",        "body": [            "<${5:router-link} to={ name: '${1:${TM_FILENAME/(.*)List\\.vue/$1Detail/i}}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:$TM_SELECTED_TEXT}</${5:router-link}>"        ],        "description": "router-link 跳转"    }}

基本所有主流编辑器都支持 snippets,也就是配置代码片段来提高开发效率,VSCode 也不例外,这是一个很有用的功能。

VSCode snippets 支持 global、project、language 3 种生效范围。我个人用全局的比较多。

它也算是一种 DSL 了,支持很多语法,比如指定光标位置、多光标编辑、placeholder、多选值、变量、对变量做转换等语法。

  • 指定光标位置:$x

  • 多光标编辑:$x $x

  • 指定 placeholder 文本:${x:placeholder}

  • 指定多选值:${x|aaa,bbb|}

  • 取变量:$VariableName

  • 对变量做转换:${VariableName/正则/替换的文本/}

我们写了一个 router-link 的 snippets,综合运用了这些语法,过一遍就会了。

能自己定义适合自己的 snippets,对于提高开发效率是很有帮助的。

vscode有什么用

Visual Studio Code 是一个运行于 OS X,windowslinux 之上的,针对于编写现代 WEB 和云应用的跨平台编辑器,它为开发者们提供了对多种编程语言的内置支持,并且正如 Microsoft 在Build 大会的 keynote 中所指出的,这款编辑器也会为这些语言都提供了丰富的代码补全和导航功能。

感谢大家的阅读,以上就是“VSCode中如何用snippets来提升开发效率”的全部内容了,学会的朋友赶紧操作起来吧。相信编程网小编一定会给大家带来更优质的文章。谢谢大家对编程网网站的支持!

--结束END--

本文标题: VSCode中如何用snippets来提升开发效率

本文链接: https://www.lsjlt.com/news/307339.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • VSCode中如何用snippets来提升开发效率
    小编今天带大家了解VSCode中如何用snippets来提升开发效率,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“VSCode中如何...
    99+
    2023-06-26
  • 如何在PHP开发中使用Git API来提升效率?
    随着互联网技术的快速发展,PHP作为一种广泛使用的编程语言,已经成为了许多网站和应用程序的首选语言。然而,在PHP开发中使用Git API来提高效率,对于许多开发者来说可能是一个相对较新的概念。本文将介绍如何在PHP开发中使用Git API...
    99+
    2023-08-14
    开发技术 git api
  • PHP与VSCode的完美舞步:提升开发效率
    1. 代码自动补全:挥洒自如,舞步轻盈 VSCode集成了PHP IntelliSense功能,可在您输入代码时提供智能建议。它自动补全函数、类、常量和变量,减少了键入错误和语法错误,让您在编码时如同行云流水,挥洒自如。 示例: $na...
    99+
    2024-03-05
    PHP、VSCode、开发效率、代码自动补全、错误检查、调试
  • 如何利用Linux+NPM提升PHP开发效率?
    随着互联网的快速发展,PHP已经成为了最受欢迎的Web编程语言之一。无论是开发一个简单的网站还是复杂的Web应用程序,PHP都是一个不可或缺的工具。然而,PHP的开发效率并不总是很高,这也是很多开发者所面临的一个问题。Linux NPM是一...
    99+
    2023-10-11
    开发技术 linux npm
  • 如何应用Golang Facade模式提升开发效率
    在Go语言中,Facade模式可以被用来提升开发效率,特别是在处理复杂系统或子系统的情况下。Facade模式通过提供一个简单的接口,...
    99+
    2023-10-08
    Golang
  • Vue3中如何提高开发效率
    小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、setup name 增强Vue3的setup语法糖是个好东西,但使...
    99+
    2023-06-28
  • 揭秘PHP8带来的提升开发效率的利器
    PHP8的新功能揭秘,提升开发效率的利器 随着互联网技术的不断发展,PHP作为一门广泛使用的编程语言,在网站开发和应用程序编写方面起到了重要作用。为了能够更好地满足开发者的需求,PHP8带来了一系列的新功能和改进,从而进一步提升...
    99+
    2024-01-13
    PHP 新功能 开发效率
  • 如何利用Java开发技术的API索引提升开发效率?
    Java作为一种流行的编程语言,已经成为了很多开发人员的首选语言。Java提供了许多API,这些API可以帮助开发人员编写高质量的代码,但在大型项目中找到所需的API是一项艰巨的任务。为了提高开发效率,Java开发人员可以利用API索引,这...
    99+
    2023-08-10
    开发技术 api 索引
  • Node.js Azure Functions:提升您的开发效率
    ...
    99+
    2024-04-02
  • IDEA如何提高开发效率
    这篇文章给大家分享的是有关IDEA如何提高开发效率的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Lombok插件Lombok项目是一个Java库,它会自动插入您的编辑器和构建工具中,从而使您的Java更加生动...
    99+
    2023-06-14
  • Load 技术在 Java 框架中的应用:如何提升开发效率?
    随着互联网的高速发展,Java 技术已经成为了许多企业和开发者的首选语言。在 Java 开发中,我们经常需要使用到一些框架和技术来提升开发效率。其中,Load 技术是一个非常好的选择,它可以在 Java 框架中提供非常强大的性能和可扩展性...
    99+
    2023-06-26
    框架 load 开发技术
  • 掌控 PHP CI/CD:提升开发效率
    引言 随着现代软件开发的快节奏,持续集成 (CI) 和持续交付 (CD) 实践已成为保持高生产力和交付高质量软件的必要条件。对于 PHP 开发人员来说,实施 PHP CI/CD 流程可以带来一系列好处,包括: 减少错误:自动化测试可以识...
    99+
    2024-03-04
    PHP CI/CD、GitHub Actions、Travis CI、版本控制、自动化测试
  • 利用PHP trait DTO提升项目开发效率
    简介:在PHP项目的开发过程中,数据传输对象(Data Transfer Object或简称DTO)扮演着重要的角色,用于将数据从一个层面传递到另一个层面,无论是在应用程序内部还是在与第三方服务交互时。然而,传统的DTO实现方式往往会导致大...
    99+
    2023-10-21
    PHP dto trait
  • TypeScript 为 VUE 提供动力:提升开发效率
    TypeScript 是一种流行的 JavaScript 超集,它为你的 Vue.js 项目带来了严格的类型检查和增强功能,从而显著提升了开发效率。本文将深入探讨 TypeScript 如何与 Vue.js 整合,并展示如何在你的项目中使...
    99+
    2024-03-09
    TypeScript、Vue.js、开发效率
  • GO语言开发技术,如何通过框架提升开发效率?
    在现代软件开发中,高效率的开发是至关重要的。GO语言因其高效的编译速度和简单易学的语法而备受开发者青睐。但是,即使是使用GO语言,开发一款高质量的应用程序仍然需要花费大量的时间和精力。为了提高开发效率,GO语言框架应运而生。 GO语言框架...
    99+
    2023-07-09
    教程 开发技术 框架
  • GO语言开发技术:如何利用语言特性提升开发效率?
    随着互联网技术的不断发展,编程语言也在不断更新和发展。而GO语言作为一门新兴的编程语言,备受程序员们的关注。作为一门快速、安全、高效、并发的编程语言,GO语言在近年来得到了广泛的应用。本文将介绍如何利用GO语言的语言特性,进一步提升开发效...
    99+
    2023-06-28
    学习笔记 教程 开发技术
  • 接口开发中,如何通过PHP编程算法打包提升开发效率?
    在现代互联网开发中,接口开发是一项非常重要的工作。无论是网站还是APP,都需要通过接口来实现数据的交互和传输。在接口开发中,如何通过PHP编程算法打包提升开发效率呢?本文将从以下几个方面来进行讲解。 一、什么是PHP编程算法打包? PHP...
    99+
    2023-06-26
    编程算法 打包 接口
  • Spring框架如何利用Python数据类型提升开发效率?
    随着数据科学的发展,Python已成为最受欢迎的数据科学编程语言之一。Python在处理数据方面非常强大,而Spring框架则是Java企业级应用程序开发的事实标准。本文将介绍如何将Python的强大数据类型引入Spring框架中,以提高...
    99+
    2023-08-19
    数据类型 spring windows
  • 如何在 Go 中使用 IDE 提高开发效率?
    Go 语言是一门非常流行的编程语言,由于其简洁、高效、易学等特点,越来越多的开发者开始使用它来开发各种应用程序。在使用 Go 进行开发时,选择一个好的集成开发环境(IDE)是非常重要的,因为它可以帮助我们提高开发效率,减少错误和调试时间。本...
    99+
    2023-06-25
    对象 数据类型 ide
  • Java Git实战应用:高效协作,提升开发效率
    1. Git的基本概念 Git是一个分布式版本控制系统,它允许您跟踪代码库的变化并协作开发。与其他版本控制系统不同,Git将每个提交存储为一个独立的快照,这使得您可以在任何时候轻松地回退到以前的版本。 2. 安装Git 在您的计算机上安...
    99+
    2024-02-07
    Git Java 版本控制 协作 开发 效率
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作