背景

visual studio code编辑器强大在于可以自己扩展插件,不仅可以去插件市场下载,也可以按照官方的API很方便的制作适合自己的插件;

自己最近在开发一个手机端网站项目,基于vant项目,想利用vscode的智能提示补全代码,提高下开发效率,于是学习了下代码片段(snippets)的插件开发;

编写

  1. 在vscode编辑器中选择【用户代码片段】->选择当前项目中创建



会创建一个新的文件

  1. 创建新的 代码片段文件
{
"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界面发布扩展

  1. 注册扩展市场开发者账号
  2. 创建完后选择上传刚才打包成功的vsix文件



也可以通过该管理界面更新、删除包;

  1. 上传完后即可在插件市场搜索查看

最后

github地址

visual studio code开发代码片段扩展插件的更多相关文章

  1. Mac上使用Visual Studio Code开发/调试.NET Core代码

    Mac上使用Visual Studio Code开发/调试.NET Core代码 .Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今 ...

  2. 【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    .NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...

  3. 使用Visual Studio Code开发.NET Core看这篇就够了

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studi ...

  4. 使用Visual Studio Code开发(编译、调试)C++程序

    总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...

  5. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步

    本文记录了在Windows环境下安装Visual Studio Code开发工具..Net Core 1.0 SDK和开发一个简单的Web-Demo网站的全过程. 一.安装Visual Studio ...

  6. 打造TypeScript的Visual Studio Code开发环境

    打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...

  7. 初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序

    原文:初识Visual Studio Code 一.使用Visual Studio Code 开发C# 控制台程序 1. 安装.NET Core 安装包下载地址:https://www.microso ...

  8. 使用Visual Studio Code 开发 ESP8266

    使用Visual Studio Code 开发 ESP8266 ESP8266+ArduinoIDE+VSCode开发ESP8266. 首先说明一下ESP8266并不是某一WiFi模块的名字(我以前是 ...

  9. [Tool] 使用Visual Studio Code开发TypeScript

    [Tool] 使用Visual Studio Code开发TypeScript 注意 依照本篇操作步骤实作,就可以在「Windows」.「OS X」操作系统上,使用Visual Studio Code ...

随机推荐

  1. nyoj 47-过河问题 (贪心)

    47-过河问题 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:2 submit:5 题目描述: 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的 ...

  2. ZeroC ICE的远程调用框架 class与interface

    我们在ice文件中定义的class或interface,slice都会为我们生成stub存根类和skeleton骨架类.在这里要注意slice并没有分别生成两份单独用在客户端或服务端的接口给开发分发. ...

  3. Bran的内核开发教程(bkerndev)-08 中断服务程序(ISR)

    中断服务程序(ISR)   中断服务程序(ISR)用于保存当前处理器的状态, 并在调用内核的C级中断处理程序之前正确设置内核模式所需的段寄存器.而工作只需要15到20行汇编代码来处理, 包括调用C中的 ...

  4. linux后台运行程序--nobup

    用途:不挂断地运行命令. 语法:nohup Command [ Arg - ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断 ...

  5. 用Helm3构建多层微服务

    Helm是一款非常流行的k8s包管理工具.以前就一直想用它,但看到它产生的文件比k8s要复杂许多,就一直犹豫,不知道它的好处能不能抵消掉它的复杂度.但如果不用,而是用Kubectl来进行调式真的很麻烦 ...

  6. linux bash编程之函数和循环控制

    函数:实现独立功能的代码段 函数只有在调用时才会执行 语法一: function F_NAME{ 函数体 } 语法二: F_NAME() { 函数体 } 函数的返回值: 默认函数返回值:函数执行状态返 ...

  7. theano function参数

    train_rbm = theano.function( [index], # inputs cost, # outputs updates=updates, givens={ x: train_se ...

  8. 【02】对象的Getter and Setter

    java和C#非常相似,它们大部分的语法是一样的,但尽管如此,也有一些地方是不同的. 为了更好地学习java或C#,有必要分清它们两者到底在哪里不同. 我们这次要来探讨对象的Getter and Se ...

  9. 剑指Offer-32.丑数(C++/Java)

    题目: 把只包含质因子2.3和5的数称作丑数(Ugly Number).例如6.8都是丑数,但14不是,因为它包含质因子7. 习惯上我们把1当做是第一个丑数.求按从小到大的顺序的第N个丑数. 分析: ...

  10. Java NIO 三大组件之 Buffer

    NIO大三组件 之Buffer 一.什么是Buffer Buffer是用于特定原始类型的数据的容器. 它的实质就是一组数组,用于存储不同类型的数据. 二.缓冲区的类型 缓冲区类型除了Boolean值类 ...