将vsix插件打包至vscode
在能够将 vscode
源码进行打包的基础上,现在需要将开发好的 vsix
插件添加至 vscode
打包过程中,使其变成内置应用,并生成安装程序,安装完后可直接使用插件提供的功能
1. 解压vsix文件
将需要打包的 vsix
文件的后缀由 .vsix
更改成 .zip
进行解压
解压后文件夹中结构如下图所示
2. 获取目标文件
解压后的 extension
为我们使用到的插件源文件,将 extension
修改成插件名称,并且将修改完后的文件夹移动到 VSCode-win32-x64\resources\app\extensions
目录中
3. 打包成安装程序
回到 vscode
目录下,执行以下命令
yarn gulp vscode-win32-x64-user-setup
执行完毕会在vscode源码文件夹\.build\win32-x64\user-setup
目录下出现 VSCodeSetup.exe
安装文件,双击即可安装,此时安装的程序中已经内置了插件提供的功能
4. 自动化打包
编写 bat
脚本,将上述步骤进行自动打包。bat脚本放在 vscode
根目录下
**前置条件:**将 vsix
文件存放在 vscode\extensions
目录下
@echo off
:: Step 1:Run 'yarn install' in /vscode
cd /d "%~dp0"
:: %~dp0: .../vscode dir path
@REM yarn install
:: Step 2:Run 'yarn gulp vscode-win32-x64' in /vscode
@REM yarn gulp vscode-win32-x64
:: Step 3:Run 'yarn gulp vscode-win32-x64-inno-updater' in /vscode
@REM yarn gulp vscode-win32-x64-inno-updater
:: Step 4:Process extensions
cd /d "%~dp0\extensions"
for %%f in (*.vsix) do (
ren "%%f" "%%~nf.zip"
powershell -noprofile -command "Expand-Archive -Path %%~nf.zip -DestinationPath %%~nf"
del "%%~nf.zip"
del "%%~nf\[Content_Types].xml"
del "%%~nf\extension.vsixmanifest"
ren "%%~nf\extension" "%%~nf"
if exist "%~dp0\..\VSCode-win32-x64\resources\app\extensions\%%~nf" (
rmdir /S /Q "%~dp0\..\VSCode-win32-x64\resources\app\extensions\%%~nf"
)
move "%%~nf\%%~nf" "%~dp0\..\VSCode-win32-x64\resources\app\extensions\" > nul
rmdir "%%~nf"
)
:: Step 5:Run yarn gulp vscode-win32-x64-user-setup' in /vscode
cd /d "%~dp0"
yarn gulp vscode-win32-x64-user-setup
:: The system automatically exits after the package is complete. You need to manually perform this operation
:: Step 6 Rename VSCodeSetup.exe to HyseimIDE.exe
ren "%~dp0\.build\win32-x64\user-setup\VSCodeSetup.exe" "HyseimIDE.exe"
:: Pause to keep the window open for viewing results
pause