VScode代码片段尝试

news2024/12/29 8:36:20

最近开始尝试强迫自己使用 VSCode,毕竟 Webstorm 用了很多年了,依赖性比较严重。但是,最近 Webstorm 越来越难搞到免费永久合法使用方式了。

遂转向 VSCode 。

不过 VSCode 需要调教,不像 Webstorm 那么集成度比较高,还是有点不习惯。

哎~慢慢来吧。

------------华丽的分割线--------------

有时候需要写基础的代码,而且经常用。有时候懒得从头开始写,就可以使用 VScode代码片段(Snippets),让 VScode 帮我们完成这些基础代码。

一、创建代码片段

如,写一个 Vue 程序,需要每次创建 Vue 示例,每次都要写这个代码:

new Vue({
    el: "#box",
    data: function () {
        return {
            name: "john"   // 示例数据
        }
    }
});

不想每次都重复写(我们当然可以使用脚手架),这里只是说明演示代码片段的使用。

1.点击 VScode 右下“设置--配置用户代码片段”

 ​​​​​​​2. 新建代码片段。

 3.输入代码片段的名字。

 开始配置代码片段,主要就是5个部分:

  • key:代码提示弹窗显示的此Snippet的名字

  • scope:表明该Snippet在哪些语言文件内生效

  • prefix:指定触发此Snippet的关键字

  • body:为Snippet的模板内容

  • description:对此Snippet的描述

 如:

{
    "vue base": {
        "scope": "javascript,html,typescript",
        "prefix": "v1",
        "body": [
            " new Vue({",
			"    el: \"#box\",",
			"    data: function () {",
			"      return {",
			"           name: \"john\"   // 示例数据",
			"       }",
			"    }",
			"});"
         ],
         "description": "vue的初步结构"
    }
}

当我在 JS 中 输入 关键词 v1 时,就可以按下 tab ,可以添加代码片段。

new Vue({
    el: "#box",
    data: function () {
        return {
            name: "john"   // 示例数据
        }
    }
});

vscode中书写自己的Snippets主要掌握以下几点语法:

  1. Tabstops:表示创建模板后光标所处位置,以及按下tab后光标如何跳转。比如$1是初始位置,按下tab将会跳转到$2的位置,以此类推,而$0表明光标最后的位置;

  1. Placeholders:带默认值的tabstops,比如${1:Hello Farmer!},表示光标处的默认内容为“Hello Farmer!”,可以直接输入内容修改,或者按tab接受默认内容;Placeholders是可以嵌套的;

  2. Choice:Placeholders可以包含多个选择,比如${1|one,two,three|},当输入到此处时,会弹出一个下拉框供用户选择;

  3. 内置变量:包含一些内置的变量,可以在创建模板的时候使用,通过$name或者${name:default}使用,支持的变量参见官方文档;

  4. 变量转换:这部分的语法和shell中是基本一样的,主要是为了实现目标字符串变量的截取、替换、修改,或者是大小写变换。这部分会涉及到一些正则化语法,可以查看官方的demo来找到自己需要的解决办法。

如,上面的代码片段可以修改为:

"body": [
    " new Vue({",
    "    el: \"${1:#box}\",",
    "    data: function () {",
    "      return {",
    "           ${2:name}: \"${3|John,Lily,Lucy|}\"   // 示例数据",
    "       }",
    "    }",
    "});"
],

 看不懂怎么去配置?没关系,可以借助这个网站来进行配置。

snippet generator

 

二、删除代码片段

代码片段文件创建后会一直保存在本地电脑中,无法直接在 VSCode 中执行删除操作,必须手动删除。如下图所示,开启 VSCode 的导航路径,根据路径找到代码片段文件所在位置,直接删除即可。

 

 

三、系统自带的代码片段

其实,系统已经自带了一些代码片段,如 for ,上下按键进行选择,再 tab 键,进行补完相关代码。

 其实用了这么几天,感觉 VSCode 还是蛮好用的。

练手写 demo,都用这个了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138382.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CalDAV网络服务器Baikal

什么是 Baikal ? Baikal 是一个免费的开源自托管 CalDav 和 CardDav 服务器,适用于想要管理其数据并确保其数据是私有的用户。 Baikal和群晖套件中的 Synology Calendar 是类似的应用; 什么是 CalDav ? CalDav 是一种互联网标准和协议&…

Qt扫盲-QVector理论总结

QVector理论总结一、概述二、使用1. 声明初始化2. 获取元素和链表信息3. 常用操作4. 迭代Vector三、注意一、概述 QVector是Qt的泛型容器类之一。它将每一个元素存储在相邻的内存位置,并提供快速的基于索引的访问。 QList, QLinkedList, QVe…

eurake原理分析以及搭建

消费者随时能够监控到服务的状态 消费者如何获取服务提供者具体的信息? 1)服务提供者启动时间eureka注册自己的信息 2)eureka保存这些信息 3)消费者根据服务名称向eureka拉取提供者的信息 如果有多个服务提供者,消费者…

VS代码生成工具ReSharper v2022.3官宣首发——支持C# 11

实质上,ReSharper特征可用于C#,VB.net,XML,Asp.net,XAML,和构建脚本。 使用ReSharper,你可以进行深度代码分析,智能代码协助,实时错误代码高亮显示,解决方案范…

网络OSI(七层模型)

OSIOSI是一个理论上的网络通信模型,而TCP/IP则是实际运行的网络协议。TCP/IPTCP/IP (传输控制协议/网际协议) 网络通信模型 以及一整个网络传输协议家族应用层应用层协议: FTP TFTP HTTP SNMP SMTP DNS Telnet表示层 数据格式化 代码转换 数据解密/加密会话层 解除或…

低代码如何构建响应式布局前端页面

“你开发的界面为啥在我的屏幕里这么小啊?” “这个界面为啥在我这里会出现横向滚动条啊?” 大家在进行前端界面开发时,有没有遇到这些类似的问题呢?又是如何解决的呢? 页面响应式 在进行项目交付的场景中&#xf…

JavaEE【Spring】:Spring AOP

文章目录一、概念1、定义2、作用二、Spring AOP1、AOP 组成① 切面(Aspect)② 连接点(Join Point)③ 切点(Pointcut)④ 通知(Advice)2、实现① 添加 AOP 框架支持② 定义切面和切点Ⅰ…

都有哪些好用的设备维护管理软件?这5款值得一试

都有哪些好用的设备维护管理软件? 速速点进来,这些超高性价比的设备维护管理App/软件不容错过! 设备是工厂及企业生存的基础,设备的正常运作是保证工厂及企业存活的前提,而要保证设备的正常运作,就必须要…

NLP预训练小结-从词向量到BERT

图像预训练预训练首先是在图像领域广泛应用的。设计网络结构后,处理图像一般是CNN的多层叠加网络结构,先用训练集对网络预先训练,处理新任务时采取相同的网络结构,在比较浅的几层CNN结构,网络参数初始化的时候可以加载…

思科路由器DHCPv6中继服务配置

配置如下: Router>ena Router#conf t Router(config)#host R1 R1(config)#ipv6 unicast-routing R1(config)#service dhcp R1(config)#int g0/1 R1(config-if)#ipv6 add 2001:1::1/64 R1(config-if)#no sh R1(config-if)#exit R1(config)#ipv6 local …

【自学Java】Java三目运算符

Java三目运算符 Java三目运算符教程 在 Java 语言 中,有一种语言可以等价于使用 if…else 进行变量的赋值操作。它就是三目运算符。 Java语言三目运算符详解 语法 Object result condition?value:value2;参数 参数描述condition条件判断符,一般运…

PointNet++详解(二):网络结构解析

如有错误,恳请指出。 在之前对PointNet与PointNet网络进行了介绍,接下来是对其代码的解析。 1. 论文阅读笔记 | 三维目标检测——PointNet 2. 论文阅读笔记 | 三维目标检测——PointNet 参考的github项目为:https://github.com/yanx27/Poi…

window10安装minio

1、首先第一步我们先下载minio 可以从官网上下不同的版本 下载地址:MinIO | Code and downloads to create high performance object storage 2、启动minio 切记不要双击minio, 1、把下载好的minio.exe放到F(我这里放到F里了),在地址栏里输…

【NI Multisim 14.0编辑环境——项目管理器】

目录 序言 一、项目管理器 ⛄1.“设计工具箱”面板 ⛄2.“SPICE 网表查看器”面板 ⛄3.“LabVIEW 协同仿真终端”面板 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电路设计和仿真。 首先启动NI Mu…

前端调试(常用)

定义调试:代码在某个平台运行,把运行时的状态通过某种方式暴露出来,传递给开发工具做 UI 的展示和交互,辅助开发者排查问题、梳理流程、了解代码运行状态等,这个就是调试。调试就是通过某种信道(比如 WebSo…

clip_as_service学习过程(二)——clip主要的功能

参考链接:https://clip-as-service.jina.ai/user-guides/client/#async-encoding 一、encoding()_编码 clip_client提供 encode() 函数,允许您以流和同步/异步方式将句子、图像发送到服务器。这里的编码意味着获取文本或图像的固定长度矢量…

【Vue中使用Echarts】在Vue中优雅的使用Echarts——图表轮播图、Echarts图表组件封装、节流函数优化图表性能

文章目录一、为什么要优雅的使用echarts二、最初的表格组件三、初步的封装四、性能优化一、为什么要优雅的使用echarts 为了提高代码的规范性、复用性,vue中最常用的就是将具有某些功能的代码封装到一个插件。如果没有对插件进行封装,在后期使用插件的时…

2022年区块链白皮书详解及内容分享

目录 导 读 技术创新稳步推进 应用路径日益清晰 产业趋稳资本活跃 多地加快战略布局 白皮书具体内容如下 导 读 区块链是构建信任的基石,是实现信用传递,价值传递的可信网络。区块链聚焦构建安全、可靠的区块链基础设施,让企业、政府快速…

2023北京/上海/广州/深圳NPDP产品经理国际认证招生中

产品经理国际资格认证NPDP是国际公认的唯一的新产品开发专业认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年…

【算法】动态规划(第五章习题解答)

5 动态规划 5.1 图书馆大门前有 nnn 级台阶, 你每次跨上 111 级或者 222 级, 请问等上 nnn 级台阶总共有多少种不同的方法? 设计一个算法求解上述问题, 尝试写出公式, 说明算法设计思想和时间复杂度. 算法设计:核心思路是函数的递归调用,当处理nnn级台…