VSCode 中使用 Snippets 设置常用代码块
创作时间:
作者:
@小白创作中心
VSCode 中使用 Snippets 设置常用代码块
引用
CSDN
1.
https://blog.csdn.net/weixin_46661464/article/details/145693854
背景
在开发中,有很多代码片段是重复的,例如:vue文件中的模版,react 中的模版,打印的 log 等等,很多很多。对于这些重复性的工作,vscode 官方提供了解决方案-Snippets in Visual Studio Code,以此来提高开发效率。下面就简单介绍下基本的使用方法:
使用步骤
以mac 系统为例(win 也大差不差)。搭配图文描述
- 找到配置入口(如下图):
code -> Preferences -> Configure Snippets - 进入到选择页面(如下图)。假如是第一次配置的话,是没有序号 1的 (我自己正在使用的代码片段);
- 第一次配置,可以点击序号 2,配置全局的代码片段,会产生一个
code-Snippets
后缀的文件,这个文件就是存放全局代码片段的文件了。所谓全局,也就是不管什么语言,都可以使用全局的代码片段; - 也可以点击序号 3,为正在开发中的项目,配置自定义的代码片段;
- 还可以选择序号 4,为指定的语言配置自定义代码片段。在书写对应语言的时候,vscode 会检测到语言类型,然后就可以使用配置的代码片段了。
- 进入到配置页面,以我自己使用的代码片段文件
global-test-snippets.code-snippets
为例:
框起来的这块代码片段,可以实现:在 js 文件中,打印
log
然后选择
Snippets_console
,输出
console.log('$1: ', $2);
然后光标会定位到 $1位置,点击
tab
按键,又定位到 $2,光标的位置会根据序号的次序来移动,但是$0 作为会光标最终的落点。
字段解释:
- Snippets_console
:表示代码片段的名字(使用的时候对应序号 2); - scope
:代码片段的作用域,我这边限制了js、ts、jsx、tsx 可以触发这个代码片段。(对应新手来说,该值可以就填个空字符串,表示任何语言都可以使用该代码片段); - prefix
: 触发代码片段的快捷单词(使用的时候对应序号 1) - body
: 自定义代码片段,一般用数组包裹; - description
: 代码片段的描述文案。
结尾
本篇文章只是初步介绍了在 vscode 中使用代码片段的基本使用方法和语法,官网中还提供了更加详细的内容,比如变量的使用、默认值的使用等。如果想要了解的更加深入,可以看文章末尾的参考内容。因为我也是近期才发现这个东西的,就想着写篇文章记录、分享一下。如有不足之处,烦请指出,共同进步进步。
下面是我自己使用的一些代码片段:
{
// congsole.log 输出到控制台, 提供变量
"Snippets_console": {
"scope": "javascript, javascriptreact, typescript, typescriptreact",
"prefix": "log",
"body": [
"console.log('$1: ', $2);",
"",
"$0"
],
"description": "Log output to console"
},
// congsole.log 输出到控制台, 不提供变量
"Snippets_console1": {
"scope": "",
"prefix": "log1",
"body": [
"console.log('调试一下');",
"",
"$0"
],
"description": "Log output to console1"
},
// react 类组件代码片段
"Snippets_react类组件": {
"scope": "",
"prefix": "rcc",
"body": [
"import React, { Component } from 'react';",
"",
"class ${1:ReactComponent} extends Component {",
" render() {",
" return (",
" <div>",
" $2",
" </div>",
" );",
" }",
"}",
"",
"export default ${1:ReactComponent};",
"",
],
"description": "React Class Component"
},
// react 函数组件代码片段
"Snippets_react函数式组件": {
"scope": "",
"prefix": "rfc",
"body": [
"import React, { useState } from 'react';",
"",
"export default function ${1:ReactComponent}() {",
" return (",
" <div>",
" $2",
" </div>",
" );",
"}",
"",
],
"description": "React Function Component"
},
"JSDoc for API Function": {
"prefix": "jsdoc-api",
"body": [
"/**",
" * ${1:接口描述:}",
" *",
" * @param {any} params - 请求参数",
" * @returns {Promise<any>} 返回数据",
" */"
],
"description": "API 请求函数的 JSDoc 注释模板"
}
}
参考
热门推荐
赵高权力游戏:从侍卫长到权力中心,他是秦朝灭亡的幕后推手吗?
干电池有几种型号?如何区分不同型号的干电池?
调研上海绿色低碳技术应用:落地还需更多标杆性应用场景
美国市场深度解析:中国公司如何精准定位并推广品牌?
心力衰竭:如何保护自己和身边人的心脏健康
鱼菜共生种养循环生态综合种养技术在永清县的探索与实践
深入探索南京总统府:详解经典游览路线与历史景点
如何自行检测笔记本散热是否良好?
生物学中的四大数学模型
寿命短的男性,饮水方面会有4个异常,若你也有,建议及早检查
耐腐蚀性测试方法有哪几种?哪种方法适合评估不锈钢材料?
品牌设计怎么搭配色彩好?
“动作描写”17个方式方法与写作技巧,你的作品更活灵活现
我来告诉你,为什么独行侠会交易东契奇
新能源汽车大对比:从燃油到氢能源,哪种最适合你?
企业知识产权管理体系认证指南:从定义到实施步骤详解
如何正确充电新买铅酸电池并延长电池寿命?电池充电对电池维护有何重要影响?
原来古人饮酒“套路多” 水浒英雄酒量谁最大?
学者观点:以生态产业化和产业生态化推进生态价值实现
草莓长畸形了怎么办
跨境卖家必看:外观专利侵权风险应对智能检测方案
林忆莲10首经典歌曲,独特嗓音细腻情感,首首值得反复回味
智慧城市概念崛起:主力资金流入53.47亿元,浪潮信息等表现亮眼
跳槽周期:科学规划你职业生涯的秘诀
定制化网站建设:如何提升用户体验
12月医药行业政策、热点解读及渠道市场全面分析
全球移动出行的变革方向:消费者偏好的改变与电动化趋势的不变
警惕刷Q币骗局:不存在合法途径且骗局背后隐患重重
《网络主播新职业发展报告》发布:1508万职业主播呈现三大发展趋势
知识普及:什么是边缘计算(Edge Computing)?