vscode多个光标_VsCode创建多个自定义代码片段

daaf6d2b765116530203f8f91004aa60.png

“工欲善其事,必先利其器”。

“偷懒是第一生产力”,当你刷题的时候,每次都要把程序框架coding by hand,多次重复这一枯燥的操作,很令人无聊。于是,vscode就为“懒惰”的程序员提供了一个偷懒的小技巧:自定义代码片段。

自定义代码片段方法很简单,也很容易上手。

我在网上搜索了一下,主要是单个自定义代码片段,基本没发现有介绍多个自定义代码片段的。

1、【文件】 -> 【首选项】-> 【用户代码片段】

a29a38ee7f0a38f2f651cd72e344b092.png
图 1 用户代码片段

2、选择自己要设置的代码语言,如cpp

aae6c2cc9c8cb7aa78b9669b7e3f8f08.png
图 2 选择编程语言

3.在XXX.json中编辑。(注意:要把自己的代码放进双引号中,prefix 后为触发模板的关键词)

3de4ee199e00efefbc28ec629a3151a8.png
图3 在body中添加代码模板

效果如下:

083d6c0b8934cf7702fee0475f5595d3.png
图4 在新建的cpp文件中测试,输入关键词cpp

fe2f854812c68ee6a0e472c1ad0be142.png
图5 神奇的效果

如图4,点击cpp,就出现了图5的结果,直接显示了程序框架,是不是非常神奇呢。

看到这里是不是以为就结束了呢?(并没有)

想象一下,运用同样的方法我们也可以创建多个自定义代码片段。

7853e15eca1be73b65252d23b9803c0e.png
图 6 “19-32行为添加的组合数代码”

在图6中,我又添加了组合数的函数代码模板,同样的道理,我们可以把自己常用的代码添加进去,仅仅通过关键词来触发代码模板,可以节约大量的时间,设想一下,当在比赛进行到3小时,脑子里想不到一些模板,这时,你只需要在键盘输入几个关键词,所需要的模板就显示出来了,想想都令人兴奋。

如果有误,欢迎知友们指出,祝大家coding愉快!

下面为官网对一些参数的解释:

Print to console 代码片段名称
prefix 插件前缀
body 插件内容可以是字符串,也可以为数组,若为数组每个元素都做为单独的一行插入。
description 插件描述
Snippet 语法
制表位(Tabstops)
使用制表位(Tabstops)可是在代码片段中移动光标位置,使用$1,$2来指定光标的位置,数字代表光标的移动的顺序,值得注意的时$0代表光标的最后位置。如果有多个相同的制表位(Tabstops)会在编译器里同时出现多个光标(类似编译器的块编辑模式)。

占位符(Placeholders)
占位符(Placeholders) 是带默认值的制表位(Tabstops),占位符(Placeholders)的文本会被插入到制表位(Tabstops)所在位置并且全选以方便修改,占位符(Placeholders)可以嵌套使用,比如${1:another ${2:placeholder}}。

选择项(Choice)
占位符(Placeholders)可以有多选值,每个选项的值用 , 分隔,选项的开始和结束用管道符号(|)将选项包含,例如: ${1|one,two,three|},当插入代码片段,选择制制表位(Tabstops)的时候,会列出选项供用户选择。

变量(Variables)
使用 $name 或者 ${name|default} 可以插入变量的值,如果变量未被赋值则插入 default 的值或者空值 。当变量未被定义,则将变量名插入,变量(Variables)将被转换为占位符(Placeholders)
系统变量如下

TM_SELECTED_TEXT 当前选定的文本或空字符串
TM_CURRENT_LINE 当前行的内容
TM_CURRENT_WORD 光标下的单词的内容或空字符串
TM_LINE_INDEX 基于零索引的行号
TM_LINE_NUMBER 基于一索引的行号
TM_FILENAME 当前文档的文件名
TM_FILENAME_BASE 当前文档的文件名(不含后缀名)
TM_DIRECTORY 当前文档的目录
TM_FILEPATH 当前文档的完整文件路径
CLIPBOARD 剪切板里的内容
插入当前日期或时间:

CURRENT_YEAR 当前年(四位数)
CURRENT_YEAR_SHORT 当前年(两位数)
CURRENT_MONTH 当前月
CURRENT_MONTH_NAME 本月的全名(’十月’)
CURRENT_MONTH_NAME_SHORT 月份的简称(’Oct’)
CURRENT_DATE 当前日
CURRENT_DAY_NAME 当天的名称(’星期一’)
CURRENT_DAY_NAME_SHORT 当天的短名称(’Mon’)
CURRENT_HOUR 当前小时
CURRENT_MINUTE 当前分钟
CURRENT_SECOND 当前秒
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值