VSCode插件開發(fā)全攻略之打包、發(fā)布、升級的詳細教程
一、發(fā)布方式
插件開發(fā)完了,如何發(fā)布出去分享給他人呢?主要有3種方法:
- 方法一:直接把文件夾發(fā)給別人,讓別人找到vscode的插件存放目錄并放進去,然后重啟vscode,一般不推薦;
- 方法二:打包成vsix插件,然后發(fā)送給別人安裝,如果你的插件涉及機密不方便發(fā)布到應用市場,可以嘗試采用這種方式;
- 方法三:注冊開發(fā)者賬號,發(fā)布到官網應用市場,這個發(fā)布和npm一樣是不需要審核的。
二、本地打包
無論是本地打包還是發(fā)布到應用市場都需要借助vsce這個工具。
安裝:
npm i vsce -g
打包成vsix文件:
vsce package
打包的時候如果沒有設置repository會有提示,所以最好設置一下。

生成好的vsix文件不能直接拖入安裝,只能從擴展的右上角選擇Install from VSIX安裝:

三、發(fā)布應用市場
Visual Studio Code的應用市場基于微軟自己的Azure DevOps,插件的身份驗證、托管和管理都是在這里。
要發(fā)布到應用市場首先得有應用市場的publisher賬號;而要有發(fā)布賬號首先得有Azure DevOps組織;而創(chuàng)建組織之前,首先得創(chuàng)建Azure賬號;創(chuàng)建Azure賬號首先得有Microsoft賬號;
是不是有點暈,梳理一下:
一個Microsoft賬號可以創(chuàng)建多個Azure組織;一個組織可以創(chuàng)建多個publisher賬號;同時一個組織可以創(chuàng)建多個PAT(Personal Access Token,個人訪問令牌);
注冊賬號
首先訪問 https://login.live.com/ 登錄你的Microsoft賬號,沒有的先注冊一個:

然后訪問: https://aka.ms/SignupAzureDevOps ,如果你從來沒有使用過Azure,那么會看到如下提示:

點擊繼續(xù),默認會創(chuàng)建一個以郵箱前綴為名的組織。
創(chuàng)建令牌
默認進入組織的主頁后,點擊右上角的Security:

點擊創(chuàng)建新的個人訪問令牌,這里特別要注意Organization要選擇all accessible organizations,Scopes要選擇Full access,否則后面發(fā)布會失敗。

創(chuàng)建令牌成功后你需要本地記下來,因為網站是不會幫你保存的。
創(chuàng)建發(fā)布賬號
獲得個人訪問令牌后,使用vsce以下命令創(chuàng)建新的發(fā)布者:
vsce create-publisher your-publisher-name
your-publisher-name必須是字母數(shù)字下劃線,這是全網唯一的賬號,然后會依次要求輸入昵稱、郵箱、令牌:

創(chuàng)建成功后會默認登錄這個賬號,接下來你可以直接發(fā)布了,當然,如果你是在其它地方創(chuàng)建的,可以試用vsce login your-publisher-name來登錄。
除了用命令之外,你還可以使用網頁版創(chuàng)建發(fā)布賬號:https://marketplace.visualstudio.com/manage
發(fā)布
發(fā)布很簡單:
vsce publish

發(fā)布成功后大概需要過幾分鐘才能在應用市場搜到。過幾分鐘就可以訪問網頁版的插件主頁:https://marketplace.visualstudio.com/items?itemName=sxei.vscode-plugin-demo

vscode里面也能搜到了:

發(fā)布注意事項README.md文件默認會顯示在插件主頁;README.md中的資源必須全部是HTTPS的,如果是HTTP會發(fā)布失?。?code>CHANGELOG.md會顯示在變更選項卡;如果代碼是放在git倉庫并且設置了repository字段,發(fā)布前必須先提交git,否則會提示Git working directory not clean;
另外,如前面所說,如果Organization沒有選擇all accessible organizations,或者Scopes沒有選擇Full access,發(fā)布的時候可能會報如下錯誤:
Error: Failed Request: Unauthorized(401) - https://marketplace.visualstudio.com/_apis/gallery
Be sure to use a Personal Access Token which has access to **all accessible accounts**.
See https://code.visualstudio.com/docs/tools/vscecli#_common-questions for more information.
3.4.2增量發(fā)布
版本號:major.minor.patch
如果想讓發(fā)布之后版本號的patch自增,例如:1.0.2 -> 1.0.3,可以這樣:
vsce publish patch
執(zhí)行這個命令后會自動修改package.json里面的版本號。同理,vsce publish minor也是可以的。
3.5取消發(fā)布
vsce unpublish (publisher name).(extension name)
3.6更新
如果修改了插件代碼想要重新發(fā)布,只需要修改版本號然后重新執(zhí)行vsce publish即可。
4.插件升級
4.1發(fā)布到了應用市場
如果發(fā)布到了應用市場,那么一般來說會自動檢測有沒有新版本,有的話會自動無感知升級,但具體什么時候會去檢測我還沒有研究過,已經確定的是在擴展面板搜索插件名字會自動檢測,重啟vscode也會檢測。
4.2如果是本地打包
如果是打包成vsix,那么只能自己實現(xiàn)升級檢測功能呢,通過對比服務器上某個文件的版本號,具體我就不細講了。
總結
到此這篇關于VSCode插件開發(fā)全攻略(十)打包、發(fā)布、升級的文章就介紹到這了,更多相關VSCode打包、發(fā)布、升級內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C語言詳解數(shù)據(jù)結構與算法中枚舉和模擬及排序
枚舉和模擬其實是沒什么算法可言的,大多數(shù)都是按照題目意思去寫,這里提供快排和歸并的兩個模板,感興趣的朋友來看看吧2022-04-04

