VS Code项目中共享自定义的代码片段方案
VS Code项目中共享自定义的代码片段方案
一.问题背景
- 项目中注释风格不统一,如何统一注释风格
- 一些第三方组件库名称太长,每次使用都需要找文档,然后复制粘贴
- 部分组件库有自己的Snippets插件
- 一些组件能记住名称,但太长了手敲全称有点费时间
- 某些组件还有不少常用的参数,有不有办法在敲出组件的时候,加上一些参数
二.解法
稍加总结就不难看出,这些问题都能通过一些代码片段去解决
问题又来了:如何在项目中共享自定义的代码片段?
编辑器以VS Code为例,引入自定义代码片段的方案有如下几种:
- 通过扩展市场,以插件的方式引入(比较推荐各UI 组件库做一个)
- 直接在VS Code中引入自定义代码片段(首选项 -> 用户片段)
- 全局
当前项目
目前最适合当前场景的方案2-2
三.如何在当前项目中创建自定义的代码片段?
- 在当前项目中创建
.vscode文件夹 - 在其中创建以
.code-snippets结尾的文件如:- a.code-snippets
- b.code-snippets
first.code-snippets
{
"Print to console": { // 代码片段名称
"scope": "javascript,typescript", // 生效的语言
// (在文件中敲入prefix即可生成body中的内容)
"prefix": "lg", // 片段缩写
"body": [ // string[] 片段的完整内容,每个string代表一行
"console.log('$1');",
"$2"
],
// 在文件中输入完prefix时候,弹出此内容
"description": "Log output to console"
}
}
保存后就可以在工作区生效
body中可以有一些自定义的特殊内容
占位符$
- $number:
$1,$2,$3- 可指定代码片段触发落入编辑器之后的光标位置,光标位置按照从小到大排序,通过
Tab切换 $0用于设置光标最终的位置
- 可指定代码片段触发落入编辑器之后的光标位置,光标位置按照从小到大排序,通过
- ${number|option1,option2|}:
${1|op1,op2|}- 设置占位内容的可选项
- ${number:value}:
${1:default}- 可选内容只有一个的情况
变量
使用 $name 或者 ${name:default} 可以插入变量的值。如果未设置变量,则会插入其默认值或空字符串。当变量未知(未定义其名称)时,会将插入的变量名称转换为占位符。
VS Code内置了许多变量这里就不赘述了,
四.总结
通过在VS Code中创建.vscode文件夹写入x.code-snippets配置文件即可实现自定义代码块的共享
局限
- 必须写在.vscode目录中
- 不支持文件夹分类,即在
.vscode目录生效深度只能为1 - 增加项目的文件大小
- 需要手动把别人的片段文件放在
.vscode目录中
五.未来
部分库(组件/方法/语言)等提供了Snippets插件,但还有一些库没有提供,想把自己的代码块共享给其它人,开发插件的学习成本较高
有没有一种办法能够:
- 直接引入它人的代码块
- 传播方便
- 引入方便
- 对项目结构没有影响
- 更新迭代方便
我的设想:
Snippets文件以npm包的形式发布到npm仓库,本地通过一个VS Code插件自动扫描node_modules中的代码片段文件,然后使其在编辑器中生效
接下来去调研看看是否有现成的这种插件,没有的话自己搞个23333
参考文章:
VS Code项目中共享自定义的代码片段方案的更多相关文章
- 项目中解决实际问题的代码片段-javascript方法,Vue方法(长期更新)
总结项目用到的一些处理方法,用来解决数据处理的一些实际问题,所有方法都可以放在一个公共工具方法里面,实现不限ES5,ES6还有些Vue处理的方法. 都是项目中来的,有代码跟图片展示,长期更新. 1.获 ...
- 在Xcode中使用自定义的代码片段提高效率
拖动代码的时候按住option键,很难拖,注意方法:< 引用于:http://www.2cto.com/kf/201409/336245.html
- VS Code项目中通过npm包的方式共享代码片段的方案实现
VS Code项目中通过npm包的方式共享代码片段的方案实现 上周在 "VS Code项目中共享自定义的代码片段方案" 的文章中提到过一个共享代码片段的方案,上周经过调研后并没有发 ...
- Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南
Vue2/3 项目中的 ESLint + Prettier 代码检测格式化风格指南 因为平时都是使用 VSCode ESLint + Prettier 检测格式化不规范代码,但是随着接手的项目越来越多 ...
- VS code自定义用户代码片段snippet
打开VS code,“文件-首选项-用户代码片段-选择新建全局代码片段文件 “ 属性介绍:prefix 就是你自定义的快捷键 body 就是你自定义的代码片段 description 就是这 ...
- VSCode添加用户代码片段,自定义用户代码片段
在使用VScode开发中经常会有一些重复使用的代码块,复制粘贴也很麻烦,这时可以在VScode中添加用户代码片段,输入简写即可快捷输入. VScode中添加用户自定义代码片段很简单. 1.在VScod ...
- 自定义sublime代码片段
sublime text 已经有一些他们内置的一些代码片段,但是有时候,这些并不能满足我们,这就需要我们自定义一些代码片段. 步骤如下: 1.打开sublime text 2.选择 tools -&g ...
- sublime自定义snippet代码片段
相信很多人喜欢sublime编辑工具有两个原因:第一sublime很轻巧方便:第二sublime提供很多自定义拓展功能,包括很简单且和很好用的代码片段功能snippet文件. 今天,在这里就介绍下su ...
- 在项目中增加自定义icon图标
以MUI框架为例,内容来自于MUI官网. mui如何增加自定义icon图标 mui框架遵循极简原则,在icon图标集上也是如此,mui仅集成了原生系统中最常用的图标:其次,mui中的图标并不是图片,而 ...
随机推荐
- UVALive3720
题目大意:见刘汝佳<算法竞赛入门经典——训练指南>P173. 解题思路: 问题可以转化为求共有多少条过点阵中的点的斜线.其中必定包含左斜线和右斜线,由于点阵式对称的,所以我们只需求出左右斜 ...
- elasticsearch7.X x-pack破解
简介: x-pack是elasticsearch的一个收费的扩展包,将权限管理,警告,监视等功能捆绑在一个易于安装的软件包中,x-pack被设计为一个无缝的工作,但是你可以轻松的启用或者关闭一些功能. ...
- 允许远程用户登录访问mysql
方法1.本地登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将”localhost”改为”%” mysql -u root -proot use mysql; ...
- html浏览器高度和宽度和其他dom获取
1.获取网页可见区域的宽度:document.body.clientWidth ; 2.获取网页可见区域的高度:document.body.clientHeight; 3.获取 网页可见区域宽:doc ...
- oracle计算两日期相差多少秒,分钟,小时,天,周,月,年
--计算两个时间差相差多少秒select ceil((sysdate-t.transdate)* 24 * 60 * 60),t.transdate,sysdate from esc_trans_lo ...
- 4 CSS文本属性
CSStext(文本)属性可定义文本外观,比如文本颜色,对齐文本,装饰文本,文本缩进,行间距等 4.1文本颜色 color属性用于定义文本颜色. div { color: red; } 颜色表示方法: ...
- 题解 P4071 【[SDOI2016]排列计数】 (费马小定理求组合数 + 错排问题)
luogu题目传送门! luogu博客通道! 这题要用到错排,先理解一下什么是错排: 问题:有一个数集A,里面有n个元素 a[i].求,如果将其打乱,有多少种方法使得所有第原来的i个数a[i]不在原来 ...
- [wordpress使用]001_环境安装
Wordpress强大的可扩展性和易用性等功能,使得越来越多的人选择它来建立自己的博客和网站.那么新手朋友该如何入手呢,今天制作这个教程就是旨在帮助新手朋友快速入门,从而为今后WP建站打下坚实的基础. ...
- 离散数学 II(最全面的知识点汇总)
离散数学 II(知识点汇总) 目录 离散数学 II(知识点汇总) 代数系统 代数系统定义 例子 二元运算定义 运算及其性质 二元运算的性质 封闭性 可交换性 可结合性 可分配性 吸收律 等幂性 消去律 ...
- Matlab GUI程序设计入门——信号发生器+时域分析
背景:学习matlab gui编程入门,完成一个基于GUIDE的图形化界面程序,结合信号生成及分析等. 操作步骤: 1.新建程序 新建一个GUIDE程序 这里选择第一个选项,即创建一个空白的GUIDE ...