前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VS Code 折腾记 - (10) 你想发布自己捣鼓的snippets到VSCode插件市场!

VS Code 折腾记 - (10) 你想发布自己捣鼓的snippets到VSCode插件市场!

作者头像
CRPER
发布2018-08-28 16:56:28
1K0
发布2018-08-28 16:56:28
举报
文章被收录于专栏:CRPER折腾记

前言

趁着周六日的空闲时间,了解了下vscode插件或者代码片段的发布套路.

本来找下GG有啥文章前人走过的文章,最后似乎木有,那就只能自己摸索了.

从官方文档入手!!实践出真理....

em..自认为英文不错和自学能力灰常好的大佬,到这里可以停止阅读了,省的浪费时间!

学会这个,你能收获什么?见仁见智...

但是起码你知道怎么发布了,且对 npmpackage.json会有更深一层的理解.


发布的大体流程

  1. 有个微软的账号
  2. 登录市场,创造一个团队
  3. 创建一个 Personal Access token
  4. 全局安装vsce模块
  5. github 新建一个对应的仓库
    • 核心要点,package.json的书写
    • snippets的 json 文件
    • 对应的静态文件等(image)
  6. 最后一步就是发布,看我们自己的发布的成果了

1.微软帐号

em......自己创建,之后访问vscode maketplace

传送门: VSCode marketplace => sign in(登录)

右上角还有官方的两篇文档:


2.登录市场,创建一个团队

你刚登录帐号,看到的页面是这个.

是不是一脸懵逼!!!我刚登录也是一脸懵逼...

那个Upload new extension是什么鬼!

其实这里是你有插件发布之后,一个汇总平台!!(记住是插件拓展!)

可以简化更新流程,直接上传封装好的插件..

如图所示,微软的插件商店是涵盖三个平台的..我们点进去Visual Studio Code瞅瞅!

拖拉上传VSIX格式?其实这个就是 VSCode 插件的主体文件...你发布过插件的话,直接拖拉新的可以直接更新版本(发布)

说了这么多,只是科普而已...我们现在可木有发布过,说说我们要关注的..

点击你登录的用户名 - 右上角

进来是纯英文的,没错...想改中文,头像?so easy ! 点击编辑配置文件那个就可以进去了,更换头像和显示的语言和时区等

个人信息编辑这块不说,说说创建团队服务的的. 因为没有团队..你拿不到Personal Access Token

到下一步还有一些选择,直接选择亚太就行了...我操作的时候是英文操作的,然后去找了下是否有中文显示的...


3.创建一个 Personal Access Token

其实这货就跟 Github 的Access Token差不多的一个玩意,用来允许访问凭证(可控!因为可以部分功能开放)

点进去团队之后,右上角,如图所示

如上所示的,红圈那一串就是发布用到的 token 了!!! 自己保留!,不会永久显示的!!重新登录帐号这些就再也看不到了


4.安装 VSCE

依赖于node: npm install -g vsce ; 说下命令行的参数...

代码语言:javascript
复制
  # vsce --help

  Usage: vsce [options] [command]


  Options:

    -V, --version  output the version number
    -h, --help     output usage information

 Commands:

    ls [options]                         列出实际会发布的文件列表
    package [options]                    打包成一个插件
    publish [options] [<version>]        发布插件
    unpublish [options] [<extensionid>]  插件下架
    list <publisher>                     列出某个发布者下所有发布的,需要配置好token 额,不然会提示输入
    ls-publishers                        列出所有已知的发布者
    create-publisher <publisher>         创建一个新的发布者
    delete-publisher <publisher>         删除一个发布者
    login <publisher>                    登录一个发布者到发布者列表中
    logout <publisher>                   反之,退出发布者复制代码

注意注意: token 要保留, 若是退出后登录还是第一次登录都是需要这个的,发布也是!!! 登录后不退出,凭证默认是保留在本地的....不过还是要保留吧!!!也许哪天还要用到!!


5.软件仓库!

  • 新建仓库,关联仓库这些跳过!,跳过
  • snippet 的书写姿势!!跳过,自行去了解,挺多可配置的...
  • package.json --- 这个就是我要说的...摸索了挺久..

先看看目录结构

代码语言:javascript
复制
├── LICENSE  // 仓库使用的协议
├── README.md  // 基础描述
├── gif  // 文件夹,存放动态图的
├── icon  //插件图片存放的地方,要求128X128
│   └── icon.png
├── package.json  // 发布的条条框框限制和配置
├── .gitignore // git 忽略文件
├── .vscodeignore  // vscode 提交专有的忽略文件
├── snippets  // 代码片段存放地方
│   ├── vue-typescript.json
│   └── vue.json
└── vscode-vue-ts-snippet-0.0.1.vsix // 打包的插件,snippets没卵用的,一般用于插件!
//snippet 打包成插件并不能执行,打包命令 vsce package复制代码

package.json

package.json看我的注释吧,实际文件不能注释的. 不然会报 JSON 错误或者无效

代码语言:javascript
复制
{
  "name": "vscode-vue-ts-snippet", // 包名
  "version": "0.0.1", // 版本h号
  "description": "Vue with Typescript snippets", // 包的描述
  "icon": "icon/icon.png", // 显示插件的图标
  "publisher": "crperlin", // vscode 插件自有的属性,发布人
  "repository": { // 包的存放仓库
    "type": "git", // 类型 git
    "url":"https://github.com/crper/vscode-vs-ts-snippets.git" // 访问链接
  },
  "galleryBanner": { // 横幅描述
    "color": "#0273D4",
    "theme": "dark"
  },
  "scripts": { // 这里没用到,一般用来写拓展才用到,跑测试什么的
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": ["vue","typescript-vue","typescript","vue-snippets","vue-ts-snippets","vue-typescript-snippets","vue2+"],  // 关键字,就是可一个人去搜索的
  "engines": { // 限制 vscode 的版本
    "vscode": "^1.18.0"
  },
  "author":{ // 不言而喻,发布人的一些基础信息
    "name": "crper(QunHe Lin)",
    "email": "crper@outlook.com",
    "url": "https://github.com/crper"
  },
  "categories": [ // 插件的归类
    "Snippets",
    "Other"
  ],
  "contributes":{ // 这里就是索引 snippet 的,如何让插件知道你共享的东西
    "snippets": [
      {
        "language": "vue", // 针对.vue 格式的 snippets
        "path":"./snippets/vue.json"
      },
      {
        "language": "typescript", // 针对.typescript 的 snippets
        "path":"./snippets/vue-typescript.json"
      },
      {
        "language": "javascript", // 针对.js 的 snippets
        "path":"./snippets/vue-typescript.json"
      }
    ]
  },
  "bugs": {  // 一般就是反馈 bug,issue 的路径
    "url": "https://github.com/crper/vscode-vs-ts-snippets/issues"
  },
  "homepage": "https://github.com/crper/vscode-vs-ts-snippets/readme", // 包的主页,就是放在哪里
  "license": "SEE LICENSE IN LICENSE" // 包使用的协议!
}复制代码

更多的package.json字段及作用请看这里: npm package.json help


6. 发布,查看成果

温馨提示:

  • 创建一个发布者,会提示需要 token , 就是那个Personal Access Token;输入后其实相当于登录状态
  • 若是你手动退出后(vsce logout xxxx),再登录的时候依旧需要输入token
  • 看我的截图0.0.3,其实是读取package.json里面自定义的版本号,更新内容的记得必须更新版本号!

我的测试 snippet, 传送门: vue-ts-snippet ;

不推荐安装哈!!!只是测试用.. 当然,各位大佬愿意帮我维护的话,花上一段时间倒是可以变成一个有用的 snippets


总结

至此,你想要自己写一个代码片段的库发布到商店造福他人, 应该是没什么难度了...

下一篇文章,我再给大伙分享一波实用的插件!!!!敬请期待!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年11月26日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 发布的大体流程
    • 1.微软帐号
      • 2.登录市场,创建一个团队
        • 点击你登录的用户名 - 右上角
      • 3.创建一个 Personal Access Token
        • 4.安装 VSCE
          • 5.软件仓库!
            • 先看看目录结构
            • package.json
          • 6. 发布,查看成果
          • 总结
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档