You can construct the .vsix download URL by hand.
Get extension's "Unique Identifier", and split it into two parts along the
.:eg.
ms-python.pythonbecomesms-pythonandpythonGet a version from "Version History" tab on marketplace.
eg.
2024.17.2024100401Determine the binary type that you need. Skip this step if this extension is "Universal". Note that some extensions do not support all binary types.
Binary type targetPlatform Alpine Linux 64 bit alpine-x64Alpine Linux ARM64 alpine-arm64Linux ARM32 linux-armhfLinux ARM64 linux-arm64Linux x64 linux-x64Windows ARM win32-arm64Windows x64 win32-x64macOS Apple Silicon darwin-arm64macOS Intel darwin-x64Combine
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/python/2024.17.2024100401/vspackage?targetPlatform=win32-x64The
?targetPlatform=win32-x64part is optional, if your extension is universal.
In Python:
unique_identifier = 'ms-python.python'
version = '2024.17.2024100401'
target_platform = 'win32-x64'
publisher, package = unique_identifier.split('.')
url = (
f'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/{publisher}/vsextensions/{package}/{version}/vspackage'
+ (f'?targetPlatform={target_platform}' if target_platform else ''))
print(url)
Answer from twj on Stack OverflowVideos
You can construct the .vsix download URL by hand.
Get extension's "Unique Identifier", and split it into two parts along the
.:eg.
ms-python.pythonbecomesms-pythonandpythonGet a version from "Version History" tab on marketplace.
eg.
2024.17.2024100401Determine the binary type that you need. Skip this step if this extension is "Universal". Note that some extensions do not support all binary types.
Binary type targetPlatform Alpine Linux 64 bit alpine-x64Alpine Linux ARM64 alpine-arm64Linux ARM32 linux-armhfLinux ARM64 linux-arm64Linux x64 linux-x64Windows ARM win32-arm64Windows x64 win32-x64macOS Apple Silicon darwin-arm64macOS Intel darwin-x64Combine
https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/python/2024.17.2024100401/vspackage?targetPlatform=win32-x64The
?targetPlatform=win32-x64part is optional, if your extension is universal.
In Python:
unique_identifier = 'ms-python.python'
version = '2024.17.2024100401'
target_platform = 'win32-x64'
publisher, package = unique_identifier.split('.')
url = (
f'https://marketplace.visualstudio.com/_apis/public/gallery/publishers/{publisher}/vsextensions/{package}/{version}/vspackage'
+ (f'?targetPlatform={target_platform}' if target_platform else ''))
print(url)
There a Chrome extension to add the VSIX download option to the VS Code marketplace
You need to install it from a .vsix file. You can find them here.
Download the .vsix file of the version you want. You may have to click assets to see them.
Then open VSCode, go to extensions -> click on the three dots -> install from vsix and select your file.
To install the .vsix you can also use the command
code --install-extension ms-python-release.vsix

sources :
- How can I install Visual Studio Code extensions offline?
- https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix
This can be done using "Install Another Version" option available with VS Code extension store.
- Go to extensions.
- Click on Gear Icon for the installed extension
- Click on Install Another Version
- And select the version you wish to install
