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 OverflowYou 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
Python .vsix file for vsc system install
How to download a .vsix file? Was this option removed?
How to download the .vsix file for older versions?
visual studio code - How to install previous version of Python extension for VSCode - Stack Overflow
Videos
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
I remember be able to download the vsix files and install extension manually, what happened?
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

I believe you were able to download the VSIX files on market place.
I want to download the Pylance vsix file bit I can't find it on market place. We're we able to download just the VSIX file before ?
» pip install offvsix
From the extension page (not working anymore)
At one point you were able to get to the link directly from the marketplace, either under the Resources section or under the version history. This seems to have been removed.
Image for posterity
Finding the link URL
According to the documentation it is possible to download an extension directly:
An extension's direct download URL is in the form:
https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${extension name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage
This means that in order to download the extension you need to know
- the publisher name
- the version
- the extension name
You can find all this information in the URL.
Example
Here's an example for downloading an installing the C# v1.3.0 extension:
Publisher, Extension and Version
You can find the publisher and the extension names on the extension's homepage inside its URL:
https://marketplace.visualstudio.com/items?itemName=**ms-vscode**.**csharp**
Here the publisher is ms-vscode and the extension name is csharp.
The version can be found on the right side in the More Info area.
To download it you need to create a link from the template above:
https://ms-vscode.gallery.vsassets.io/_apis/public/gallery/publisher/ms-vscode/extension/csharp/1.3.0/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage
All packages will have the same name Microsoft.VisualStudio.Services.VSIXPackage, so you'll need to rename it after downloading if you want to know what package it was later.
Installation Once Downloaded
In order to install the extension
- Rename the file and give it the
*.vsixextension - Open the extensions sidebar
- Click on the ellipsis in the right upper corner
- Choose Install from VSIX

- If everything went fine, you should see this message at the top of the window:
Extension was successfully installed. Restart to enable it.
adding on to t3chb0t's answer, not sure why the option to download is not visible, so created a patch for those who use GreaseMonkey/ TamperMonkey: you can find the gist code here
Or you can just paste the below lines in your browser console, and the link would magically appear:
let version = document.querySelector('.ux-table-metadata > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > div:nth-child(1)').innerText
, itemDetails = window.location.search.replace('?', '').split('&').filter(str => !str.indexOf('itemName')).map(str => str.split('=')[1])[0]
, [author, extension] = itemDetails.split('.')
, lAuthor = author.toLowerCase()
, href = `https://${lAuthor}.gallery.vsassets.io:443/_apis/public/gallery/publisher/${author}/extension/${extension}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage`
, element = document.createElement('a');
element.href = href;
element.className = 'vscode-moreinformation dark';
element.innerHTML = 'download .vsix file';
element.download = `${extension}.${version}.vsix`;
document.querySelector('.vscode-install-info-container').appendChild(element);