VS Code项目中通过npm包的方式共享代码片段的方案实现
VS Code项目中通过npm包的方式共享代码片段的方案实现
上周在 “VS Code项目中共享自定义的代码片段方案” 的文章中提到过一个共享代码片段的方案,上周经过调研后并没有发现现成的插件,就抽了点空实现了这个方案,最终产出Share Snippets 这个插件去实现这个设想
Share Snippets介绍
借助Share Snippets,你可以通过npm包的形式分享你的代码片段,让其它的开发者能够轻松愉快的体验上,更新迭代方便
方案对比
项目级共享代码片段
| 方案 | 学习成本 | 传播能力 | 生效方式 | 缺点 |
|---|---|---|---|---|
| 在.vscode目录编写片段规则 | 低 | 低 | 项目中编写后直接生效 | 不方便传播,更换项目需要重新C/V |
| 开发snippets插件 | 中 | 高 | 安装对应的插件在VS Code中 | 更换设备需要重新安装相关的插件 |
通过npm包 |
低 | 高 | 使用npm install package 即可 |
特点
借助Share Snippet无需你开发Snippet插件,就能轻松的让其它人使用你的代码片段
代码片段的规则完全参照VS Code官方文档的自定义代码片段规则
特点总结
- 容易传播
- 引入方便
- 升级更新方便
- 学习成本极低
- 。。。
demo.code-snippets
{
"Print Text": {
"scope":"javascript,typescript,vue,react",
"prefix": "lg",
"body": "console.log($1)",
"description": "console.log"
}
}
tips:四个属性都为必填值才能生效
注意
- 插件会在VS Code启动的时候进行一次文件的扫描
- 可以通过命令输入
Refresh进行重新扫描 - 插件只会扫描
share_snippets目录下以.code-snippets结尾的文件 - 无论目录层级多深只要是在
share_snippets目录下以.code-snippets结尾的文件都能被扫描到并在项目中启用
比如
node_modules
└── package1Name
│ └──share_snippets
│ ├── comment
│ │ └── test1.code-snippets
│ └── test2.code-snippets
└── package2Name
└──share_snippets
├── comment
│ └── test1.code-snippets
└── test2.code-snippets
share_snippets
├── comment
│ └── test1.code-snippets
└── vue
└── test2.code-snippets
指令
首先需要按F1打开命令输入框
| 指令名称 | 作用 |
|---|---|
| Refresh | 重新扫描项目中的片段文件 |
未来
- [ ] 优化重新扫描项目代码片段的指令
- [ ] 加入可配置文件,优化片段代码中冗余的
scope内容 - [ ] 片段内容
body支持指定的文件(即将指定的文件内容作为片段的内容)
npm 包开发示例
非常简单,和直接编写官方.code-snippets文件一模一样
share-snippets-demo
可以clone或者fork项目,然后编写自己的代码片段,发布到NPM
最后
希望此插件能够帮助你提高编码的体验与效率,提升编码的幸福感,使用途中有任何问题,请直接与我联系
相关链接
你的指尖拥有改变世界的力量
VS Code项目中通过npm包的方式共享代码片段的方案实现的更多相关文章
- 在 ASP.NET Core 项目中使用 npm 管理你的前端组件包
一.前言 在项目的前端开发中,对于绝大多数的小伙伴来说,当然,也包括我,不可避免的需要在项目中使用到一些第三方的组件包.这时,团队中的小伙伴是选择直接去组件的官网上下载,还是图省事直接在网上搜索,然后 ...
- VS Code项目中共享自定义的代码片段方案
VS Code项目中共享自定义的代码片段方案 一.问题背景 项目中注释风格不统一,如何统一注释风格 一些第三方组件库名称太长,每次使用都需要找文档,然后复制粘贴 部分组件库有自己的Snippets插件 ...
- 结合docker发布前端项目(基于npm包管理)的shell脚本
结合docker发布前端项目(基于npm包管理)的shell脚本 本教程依据个人理解并经过实际验证为正确,特此记录下来,权当笔记. 注:基于linux操作系统 目前主流的前后端分离的项目中,常常在部署 ...
- android studio 使用jar包,arr包和怎么使用githup开源项目中的aar包或module
我这里的android studio的版本是2.2.3版本 一.现在大家都用android studio了,就有人问怎么使用jar包 其实使用jar包比较简单 直接吧jar放入工程的app目录下的li ...
- Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图(转载)
Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图 2017年04月05日 10:53:13 李学凯 阅读数:104997更多 所属专栏: Intellij Idea ...
- 无法从项目中获取SSIS包的列表
一直做的SSIS项目,突然在生成项目的时候没有反应,crtl + alt +o 提示:无法从项目中获取SSIS包的列表,发现是最近的包没有设计数据源, 解决思路:检查最近的包,挨个运行一遍,看看有没有 ...
- <p>在我们的实际软件项目中,管理团队事实上比写代码或者实现一个客户的需求更为的有挑战性。由于编程实际上是和机器打交道,而和机器打交道,仅仅要你符合机器预定的逻辑,</p>
在我们的实际软件项目中,管理团队事实上比写代码或者实现一个客户的需求更为的有挑战性. 由于编程实际上是和机器打交道.而和机器打交道,仅仅要你符合机器预定的逻辑, 一步步迈向解决这个问题的道路上一点都不 ...
- react项目中引入了redux后js控制路由跳转方案
如果你的项目中并没有用到redux,那本文你可以忽略 问题引入 纯粹的单页面react应用中,通过this.props.history.push('/list')就可以进行路由跳转,但是加上了redu ...
- 怎么在项目中使用前端包管理器bower和构建工具gulp
下面以WeUI(微信官方网页开发样式库)介绍一下,怎么把WeUi引入到自己的项目中,我的开发环境Visual Studio 2012,当然了Visual Studio 2015对此已有了更好的支持(h ...
随机推荐
- java——定时任务
java定时任务直接看代码 public void timeTask(){ Timer timer = new Timer(); timer.schedule(new TimerTask() { pu ...
- [ES6系列-06]展开操作符 Spread Operator 就像解压到这里
[原创]码路工人 Coder-Power 大家好,这里是码路工人有力量,我是码路工人,你们是力量. github-pages 博客园cnblogs 在前面的文章中,介绍了...在获取剩余参数中的作用. ...
- BUUCTF WEB
BUUCTF 几道WEB题WP 今天做了几道Web题,记录一下,Web萌新写的不好,望大佬们见谅○| ̄|_ [RoarCTF 2019]Easy Calc 知识点:PHP的字符串解析特性 参考了一下网 ...
- Excel表格中无法中间插入新行列! 提示:在当前工作表的最后一行或列中,存在非空单元格,解决方案
excel中新增行列时报错: 提示:在当前工作表的最后一行或列中,存在非空单元格,所以无法插入新行或新列.
- parrot os的一些坑
burpsuite 破解版的运行环境需要jdk8,jdk11无法运行 选择jdk环境 update-alternatives --config java 截图工具 sudo apt install f ...
- VNC下载,Windows系统下VNC如何下载和安装!
IIS7服务器管理工具是一款VNC viewer的客户端,能够操作VNC,进行日常的功能实现:同时还可进行FTP的日常操作,能够高效地利用FTP的传输功能:也可以批量操作Windows.Linux系统 ...
- Rocket - tilelink - SRAM
https://mp.weixin.qq.com/s/-z9n6SHyAiK2OE7mOSvC2Q 简单介绍SRAM的实现. 1. 基本介绍 实现一个支持读写的静态存储器.存取的 ...
- Rocket - util - ReduceOthers
https://mp.weixin.qq.com/s/gbR5fuDbE_nUFVxw-p4rsA 简单介绍ReduceOthers的实现. 1. 基本介绍 输入一组Bool元素 ...
- Redis高可用-主从,哨兵,集群
主从复制 Master-Slave主从概念 同时运行多个redis服务端,其中一个作为主(master),其他的一个或多个作为从(slave),主从之间通过网络进行通讯,slave通过复制master ...
- Java实现 LeetCode 819 最常见的单词(暴力)
819. 最常见的单词 给定一个段落 (paragraph) 和一个禁用单词列表 (banned).返回出现次数最多,同时不在禁用列表中的单词. 题目保证至少有一个词不在禁用列表中,而且答案唯一. 禁 ...