bla*_*iet 119 visual-studio-code
我已经在没有,也不能连接到互联网的机器上安装了VS Code.根据文档,我可以从命令行安装扩展,如果我有.vsix,但我不知道如何.vsix从市场获得.
如何下载市场上.vsix托管的扩展程序?
t3c*_*b0t 185
您现在可以直接从市场下载扩展程序.
从VSCode 1.7.1开始,拖动或打开扩展程序不再起作用.要手动安装,您需要:
根据文档,可以直接下载扩展:
扩展程序的直接下载URL格式如下:
Run Code Online (Sandbox Code Playgroud)https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${extension name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage
这意味着要下载您需要知道的扩展程序
您可以在网址中找到所有这些信息.
以下是下载安装C# v1.3.0扩展程序的示例:
您可以在其网址的扩展程序主页上找到发布者和扩展名:
https://marketplace.visualstudio.com/items?itemName= ms-vscode.CSHARP
这是发布者ms-vscode,扩展名是csharp.
该版本可以在更多信息区域的右侧找到.
要下载它,您需要从上面的模板创建一个链接:
所有软件包都具有相同的名称Microsoft.VisualStudio.Services.VSIXPackage,因此如果您想知道以后的软件包,下载后需要重命名.
为了安装扩展程序
*.vsix扩展名VS Code,转到File > Open File...或Ctrl+O选择.vsix文件扩展已成功安装.重新启动以启用它.
mid*_*ido 19
添加到t3chb0t的答案,不知道为什么下载选项不可见,所以为使用GreaseMonkey/TamperMonkey的人创建了一个补丁:你可以在这里找到gist代码
或者您可以在浏览器控制台中粘贴以下行,并且链接会神奇地显示:
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);
Run Code Online (Sandbox Code Playgroud)
小智 14
所有这些建议都很棒,但有点痛苦,因为执行代码来构建URL或手工构建那个疯狂的URL有点烦人......
所以,我把一个快速的网络应用程序放在一起,以使事情变得更容易 只需粘贴您想要的扩展程序的URL,即可下载已正确命名的扩展程序:publisher-extension-version.vsix.
希望有人觉得它有用:http: //vscode-offline.herokuapp.com/
小智 6
我想添加一个 PowerShell 下载选项,以防其他人遇到这个问题。我有几个离线场景,我循环运行它来下载和更新我离线使用的所有扩展。
$page = Invoke-WebRequest -Uri 'https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell'
$details = ( $page.Scripts | ? {$_.class -eq 'vss-extension'}).innerHTML | Convertfrom-Json
$extensionName = $details.extensionName
$publisher = $details.publisher.publisherName
$version = $details.versions.version
Invoke-WebRequest -uri "$($details.versions.fallbackAssetUri)/Microsoft.VisualStudio.Services.VSIXPackage" `
-OutFile "C:\Scripts\extensions\$publisher.$extensionName.$version.VSIX"
Run Code Online (Sandbox Code Playgroud)
添加到 t3chb0t 的优秀答案 - 使用这些 PowerShell 命令在文件夹中安装所有 VSCode 扩展:
cd C:\PathToFolderWithManyDownloadedExtensionFiles
Get-ChildItem . -Filter *.vsix | ForEach-Object { code --install-extension $_.FullName }
Run Code Online (Sandbox Code Playgroud)
然后,重新加载VSCode以完成安装。
截至今天,最新版本扩展程序的下载 URL已逐字嵌入 Marketplace 页面的源代码中,例如 URL 中的源代码:
https://marketplace.visualstudio.com/items?itemName=lukasz-wronski.ftp-sync
包含字符串:
https://lukasz-wronski.gallerycdn.vsassets.io/extensions/lukasz-wronski/ftp-sync/0.3.3/1492669004156/Microsoft.VisualStudio.Services.VSIXPackage
我使用以下 Python regexp 来提取 dl URL:
urlre = re.search(r'source.+(http.+Microsoft\.VisualStudio\.Services\.VSIXPackage)', content)
if urlre:
return urlre.group(1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
75913 次 |
| 最近记录: |