visual studio code开发代码片段扩展插件
背景
visual studio code编辑器强大在于可以自己扩展插件,不仅可以去插件市场下载,也可以按照官方的API很方便的制作适合自己的插件;
自己最近在开发一个手机端网站项目,基于vant项目,想利用vscode的智能提示补全代码,提高下开发效率,于是学习了下代码片段(snippets)的插件开发;
编写
- 在vscode编辑器中选择【用户代码片段】->选择当前项目中创建


会创建一个新的文件

- 创建新的 代码片段文件
{
"vantpage": {
// "scope": "javascript,typescript",
"prefix": "svantpl",
"body": [
"<template>",
"\t<div>",
"\t</div>",
"</template>",
"\r<script lang=\"ts\">",
"import { Component, Vue, Prop } from 'vue-property-decorator';",
"import { Row, Col, Cell, CellGroup } from 'vant';",
"@Component({",
"\t name: '${1}',",
"\t components: {",
"\t\t [Row.name]: Row,",
"\t\t [Col.name]: Col,",
"\t\t [Cell.name]: Cell,",
"\t\t [CellGroup.name]: CellGroup",
"\t }",
"})",
"export default class ${1} extends Vue {",
"\t created() {",
"",
"\t }",
"}",
"</script>",
"\r<style lang=\"scss\">",
"</style>",
],
"description": "vant typescript template",
}
}
其中prefix表示提示字符串的前缀 当键入 svantpl的时候 会提示补全代码信息;
body表示补全代码的内容;${1}表示代码补充完后,输入光标的位置;
description表示方法的提示;
在vue文件中输入
svant 就会提示以下代码,回车后即可补全代码

到这里基本就可以使用了,如果是新项目,那就得带着这个文件,比较麻烦,这时候可以选择打包该扩展插件,上传至vscode扩展市场,以后只需要下载安装即可,也可供他人使用。
写成插件项目
单个文件是无法打包的,需要写成项目文件,结构如下:

其中 vsix文件是打包生成的文件
发布扩展:
vsce
是“ Visual Studio代码扩展”的简称,是用于打包,发布和管理VS代码扩展的命令行工具。
安装
确保已安装Node.js。然后运行:
npm install -g vsce
用法
您可以vsce用来轻松打包和发布扩展程序:
$ cd myExtension
$ vsce package
# 生成vsix安装包 myExtension.vsix
$ vsce publish
# 发布插件到 VS Code 扩展市场
vsce也可以搜索,检索元数据和取消发布扩展名。运行vsce --help 可查vsce命令
通过市场的web界面发布扩展
- 注册扩展市场开发者账号
- 创建完后选择上传刚才打包成功的vsix文件


也可以通过该管理界面更新、删除包;
- 上传完后即可在插件市场搜索查看

最后
github地址
visual studio code开发代码片段扩展插件的更多相关文章
- Mac上使用Visual Studio Code开发/调试.NET Core代码
Mac上使用Visual Studio Code开发/调试.NET Core代码 .Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今 ...
- 【实验手册】使用Visual Studio Code 开发.NET Core应用程序
.NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...
- 使用Visual Studio Code开发.NET Core看这篇就够了
作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studi ...
- 使用Visual Studio Code开发(编译、调试)C++程序
总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
本文记录了在Windows环境下安装Visual Studio Code开发工具..Net Core 1.0 SDK和开发一个简单的Web-Demo网站的全过程. 一.安装Visual Studio ...
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
- 初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序
原文:初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序 1. 安装.NET Core 安装包下载地址:https://www.microso ...
- 使用Visual Studio Code 开发 ESP8266
使用Visual Studio Code 开发 ESP8266 ESP8266+ArduinoIDE+VSCode开发ESP8266. 首先说明一下ESP8266并不是某一WiFi模块的名字(我以前是 ...
- [Tool] 使用Visual Studio Code开发TypeScript
[Tool] 使用Visual Studio Code开发TypeScript 注意 依照本篇操作步骤实作,就可以在「Windows」.「OS X」操作系统上,使用Visual Studio Code ...
随机推荐
- 通过阿里云的IOT平台控制ESP8266
通过阿里云的IOT平台控制ESP8266 #include <ESP8266WiFi.h> /* 依赖 PubSubClient 2.4.0 */ #include <PubSubC ...
- 逻辑卷LVM
1.理解LVM http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html 2.创建LVM 根据“理解LVM”提供的原理思路搞 a)建立 ...
- Rio手把手教学:如何打造容器化应用程序的一站式部署体验
11月19日,业界应用最为广泛的Kubernetes管理平台创建者Rancher Labs(以下简称Rancher)宣布Rio发布了beta版本,这是基于Kubernetes的应用程序部署引擎.它于今 ...
- spring boot集成shiro-redis时,分布式根据seesionId获取session报错排查总结
昨天在集成shiro-redis的时候,使用sessionId在其他微服务获取用户的session时,发生错误:There is no session with id [xxx]. 查遍了所有资料,基 ...
- 用Swoole+React 实现的聊天室
前后端分离的项目,使用 Swoole+React 实现的聊天室,整个项目的框架结构可以进行参考,前端 react+react-redux+react-router+react-ant 等等,后台使用 ...
- Rust 入门 (二)
我认为学习计算机语言,应该先用后学,这一节,我们来实现一个猜数字的小游戏. 先简单介绍一个这个游戏的内容:游戏先生成一个1到100之间的任意一个数字,然后我们输入自己猜测的数字,游戏会告诉我们输入的数 ...
- Power Query系列 - 排序Ranking
Power Query系列 - 排序Ranking 难度: ★★☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况: 在数据分析中,我们常常需要对数据进行排序,同时我们想知道某个项目或者产品的排名, ...
- jquery浅复制和深复制区别
jquery浅复制和深复制区别
- 音视频入门-14-JPEG文件格式详解
* 音视频入门文章目录 * JPEG 文件格式解析 JPEG 文件使用的数据存储方式有多种.最常用的格式称为 JPEG 文件交换格式(JPEG File Interchange Format,JFIF ...
- Selenium+Java(五)iframe/frame多表单处理
前言 如果网页中使用了frame,则在使用Selenium定位元素时需要切换到对应的frame,否则会定位不到需要的元素. 切换到需要切换的frame中 driver.switchTo().frame ...