您現在的位置是:網站首頁> 內容頁

VSCode插件開發全攻略(十)打包、發布、升級

  • 大紅鷹官網客服中心
  • 2019-04-25
  • 255人已閱讀
簡介更多文章請戳VSCode插件開發全攻略系列目錄導航。發布方式插件開發完了,如何發布出去分享給他人呢?主要有3種方法:方法一:直接把文件夾發給別人,讓別人找到vscode的插件存放目錄并

更多文章請戳VSCode插件開發全攻略系列目錄導航。

發布方式

插件開發完了,如何發布出去分享給他人呢?主要有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賬號;同時一個組織可以創建多個PATPersonal Access Token,個人訪問令牌);

注冊賬號

首先訪問 https://login.live.com/ 登錄你的Microsoft賬號,沒有的先注冊一個:

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

點擊繼續,默認會創建一個以郵箱前綴為名的組織。

創建令牌

默認進入組織的主頁后,點擊右上角的Security

點擊創建新的個人訪問令牌,這里特別要注意Organization要選擇all accessible organizationsScopes要選擇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/galleryBe 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.

增量發布

版本號:major.minor.patch

如果想讓發布之后版本號的patch自增,例如:1.0.2 -> 1.0.3,可以這樣:

vsce publish patch

執行這個命令后會自動修改package.json里面的版本號。同理,vsce publish minor也是可以的。

取消發布

vsce unpublish (publisher name).(extension name)

更新

如果修改了插件代碼想要重新發布,只需要修改版本號然后重新執行vsce publish即可。

插件升級

發布到了應用市場

如果發布到了應用市場,那么一般來說會自動檢測有沒有新版本,有的話會自動無感知升級,但具體什么時候會去檢測我還沒有研究過,已經確定的是在擴展面板搜索插件名字會自動檢測,重啟vscode也會檢測。

如果是本地打包

如果是打包成vsix,那么只能自己實現升級檢測功能呢,通過對比服務器上某個文件的版本號,具體我就不細講了。

文章評論

Top 11选五免费计划