歡迎您光臨本站 註冊首頁

VSCode插件開發全攻略之打包、發佈、升級的詳細教程

←手機掃碼閱讀     zmcjlove @ 2020-05-08 , reply:0

一、發佈方式
插件開發完了,如何發佈出去分享給他人呢?主要有3種方法:
方法一:直接把文件夾發給別人,讓別人找到vscode的插件存放目錄並放進去,然後重啟vscode,一般不推薦;
方法二:打包成vsix插件,然後發送給別人安裝,如果你的插件涉及機密不方便發佈到應用市場,可以嘗試採用這種方式;
方法三:註冊開發者賬號,發佈到官網應用市場,這個發佈和npm一樣是不需要審核的。
二、本地打包
無論是本地打包還是發佈到應用市場都需要藉助 vsce 這個工具。
安裝:
npm i vsce -g
打包成 vsix 文件:
vsce package
打包的時候如果沒有設置 repository 會有提示,所以最好設置一下。
生成好的vsix文件不能直接拖入安裝,只能從擴展的右上角選擇 Install from VSIX 安裝:
三、發佈應用市場
Visual Studio Code的應用市場基於微軟自己的 Azure DevOps ,插件的身份驗證、託管和管理都是在這裡。
要發佈到應用市場首先得有應用市場的 publisher 賬號;而要有發佈賬號首先得有 Azure DevOps 組織;而創建組織之前,首先得創建 Azure 賬號;創建 Azure 賬號首先得有 Microsoft 賬號;
是不是有點暈,梳理一下:
一個Microsoft賬號可以創建多個 Azure 組織;一個組織可以創建多個 publisher 賬號;同時一個組織可以創建多個 PAT ( Personal Access Token ,個人訪問令牌);
註冊賬號
首先訪問 https://login.live.com/ 登錄你的 Microsoft 賬號,沒有的先註冊一個:
然後訪問: https://aka.ms/SignupAzureDevOps ,如果你從來沒有使用過Azure,那麼會看到如下提示:
點擊繼續,默認會創建一個以郵箱前綴為名的組織。
創建令牌
默認進入組織的主頁後,點擊右上角的 Security :
點擊創建新的個人訪問令牌,這裡特別要注意 Organization 要選擇 all accessible organizations , Scopes 要選擇 Full access ,否則後面發佈會失敗。
創建令牌成功後你需要本地記下來,因為網站是不會幫你保存的。
創建發佈賬號
獲得個人訪問令牌後,使用 vsce 以下命令創建新的發佈者:
vsce create-publisher your-publisher-name
your-publisher-name 必須是字母數字下劃線,這是全網唯一的賬號,然後會依次要求輸入暱稱、郵箱、令牌:
創建成功後會默認登錄這個賬號,接下來你可以直接發佈了,當然,如果你是在其它地方創建的,可以試用 vsce login your-publisher-name 來登錄。
除了用命令之外,你還可以使用網頁版創建發佈賬號:https://marketplace.visualstudio.com/manage
發佈
發佈很簡單:
vsce publish
發佈成功後大概需要過幾分鐘才能在應用市場搜到。過幾分鐘就可以訪問網頁版的插件主頁:https://marketplace.visualstudio.com/items?itemName=sxei.vscode-plugin-demo
vscode裡面也能搜到了:
發佈注意事項 README.md 文件默認會顯示在插件主頁; README.md 中的資源必須全部是 HTTPS 的,如果是 HTTP 會發布失敗; CHANGELOG.md 會顯示在變更選項卡;如果代碼是放在git倉庫並且設置了repository字段,發佈前必須先提交git,否則會提示 Git working directory not clean ;
另外,如前面所說,如果 Organization 沒有選擇 all accessible organizations ,或者 Scopes 沒有選擇 Full access ,發佈的時候可能會報如下錯誤:
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增量發佈
版本號: major.minor.patch
如果想讓發佈之後版本號的patch自增,例如: 1.0.2 -> 1.0.3 ,可以這樣:
vsce publish patch
執行這個命令後會自動修改 package.json 裡面的版本號。同理, vsce publish minor 也是可以的。
3.5取消發佈
vsce unpublish (publisher name).(extension name)
3.6更新
如果修改了插件代碼想要重新發布,只需要修改版本號然後重新執行 vsce publish 即可。
4.插件升級
4.1發佈到了應用市場
如果發佈到了應用市場,那麼一般來說會自動檢測有沒有新版本,有的話會自動無感知升級,但具體什麼時候會去檢測我還沒有研究過,已經確定的是在擴展面板搜索插件名字會自動檢測,重啟vscode也會檢測。
4.2如果是本地打包
如果是打包成 vsix ,那麼只能自己實現升級檢測功能呢,通過對比服務器上某個文件的版本號,具體我就不細講了。
 


[zmcjlove ] VSCode插件開發全攻略之打包、發佈、升級的詳細教程已經有338次圍觀

http://coctec.com/docs/vscode/show-post-233310.html