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