Frage Wie installiert man VSCode-Erweiterungen offline?


Ich habe VS-Code auf einem Computer installiert, der nicht mit dem Internet verbunden ist und nicht verbunden werden kann. Laut den UnterlagenKann ich eine Erweiterung von der Befehlszeile installieren, wenn ich die .vsix, aber ich weiß nicht, wie ich das bekommen soll .vsix vom Marktplatz.

Wie kann ich das herunterladen? .vsix für eine Erweiterung, auf der gehostet wird der Markt?


76
2018-05-06 11:35


Ursprung


Antworten:


UPDATE 2017-12-13

Sie können die Erweiterung jetzt direkt von der Marktplatz.

enter image description here

Ab VSCode 1.7.1 zieht oder öffnet die Erweiterung nicht mehr. Um es manuell zu installieren, müssen Sie:

  • Öffne die Seitenleiste der Erweiterungen
  • Klicken Sie auf die Ellipse in der rechten oberen Ecke
  • wählen Installieren Sie von VSIX

Install from VSIX...


Alte Methode

Entsprechend der Dokumentation Es ist möglich, eine Erweiterung direkt herunterzuladen:

Die direkte Download-URL einer Erweiterung hat das folgende Format:

https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${extension name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage

Dies bedeutet, dass Sie, um die Erweiterung herunterladen zu können, wissen müssen

  • der Herausgebername
  • die Version
  • der Name der Erweiterung

Sie können alle diese Informationen in der URL finden.

Beispiel

Hier ist ein Beispiel für das Herunterladen einer Installation der C# v1.3.0 Erweiterung:

Herausgeber, Erweiterung und Version

Sie können den Namen des Herausgebers und der Erweiterung auf der Startseite der Erweiterung in seiner URL finden:

https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp

Hier ist der Herausgeber ms-vscode und der Name der Erweiterung ist csharp.

Die Version kann auf der rechten Seite in der gefunden werden Mehr Info Bereich.

Um es herunterzuladen, müssen Sie einen Link von der obigen Vorlage erstellen:

https://ms-vscode.gallery.vsassets.io/_apis/public/gallery/publisher/ms-vscode/extension/csharp/1.3.0/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage

Alle Pakete haben denselben Namen Microsoft.VisualStudio.Services.VSIXPackage Sie müssen es also nach dem Herunterladen umbenennen, wenn Sie später wissen wollen, welches Paket es war.

Installation

Um die Erweiterung zu installieren

  • Benenne die Datei um und gib ihr die *.vsix Erweiterung
  • Öffnen VS Code, gehe zu File > Open File... oder Ctrl+O und wählen Sie die .vsix Datei
  • Wenn alles gut gegangen ist, sollten Sie diese Nachricht am oberen Rand des Fensters sehen:

Erweiterung wurde erfolgreich installiert. Starten Sie neu, um es zu aktivieren.


123
2017-08-10 07:31



Hinzufügen zu t3chb0t die Antwort, nicht sicher, warum die Option zum Download ist nicht sichtbar, so erstellt einen Patch für diejenigen, die GreaseMonkey / TamperMonkey verwenden: Sie können den Gist-Code finden Hier

Oder Sie können einfach die folgenden Zeilen in Ihre Browser-Konsole einfügen, und der Link würde magisch erscheinen:

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);

18
2017-12-21 10:03



All diese Vorschläge sind großartig, aber irgendwie schmerzhaft zu folgen, weil das Ausführen des Codes, um die URL zu konstruieren oder die verrückte URL von Hand zu konstruieren, irgendwie nervig ist ...

Also habe ich eine schnelle Web-App zusammengestellt, um die Dinge einfacher zu machen. Fügen Sie einfach die URL der gewünschten Erweiterung ein und Sie erhalten den Download Ihrer Erweiterung, der bereits richtig benannt wurde: publisher-extension-version.vsix.

Hoffe jemand findet es hilfreich: http://vscode-offline.herokuapp.com/


12
2018-05-14 16:15



Ab heute ist die Download URL für die neueste Die Version der Erweiterung wird wörtlich in die Quelle der Seite auf Marketplace eingebettet, z. Quelle bei URL:

https://marketplace.visualstudio.com/items?itemName=lukasz-wronski.ftp-sync 

enthält Zeichenfolge:

https://lukasz-wronski.gallerycdn.vsassets.io/extensions/lukasz-wronski/ftp-sync/0.3.3/1492669004156/Microsoft.VisualStudio.Services.VSIXPackage

Ich benutze folgenden Python Regexp, um dl URL zu extrahieren:

urlre = re.search(r'source.+(http.+Microsoft\.VisualStudio\.Services\.VSIXPackage)', content)
if urlre:
    return urlre.group(1)

4
2018-05-26 12:15



Ich wollte eine PowerShell-Download-Option auf den Stapel werfen, falls jemand anderes darauf stößt. Ich habe mehrere Offline-Szenarien und ich führe dies in einer Schleife aus, um alle offline verwendeten Erweiterungen herunterzuladen und zu aktualisieren.

$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"

2
2018-04-07 09:10



Ergänzen Sie die exzellente Antwort von t3chb0t - Verwenden Sie diese PowerShell-Befehle, um alle VSCode-Erweiterungen in einem Ordner zu installieren:

cd C:\PathToFolderWithManyDownloadedExtensionFiles
Get-ChildItem . -Filter *.vsix | ForEach-Object { code --install-extension $_.FullName }

Laden Sie dann VSCode neu, um die Installation abzuschließen.


2
2018-03-13 16:22



Jetzt können Sie eine Erweiterung direkt im Bereich "Ressourcen" herunterladen, es gibt einen Link "Download-Erweiterung", ich hoffe, dass diese Informationen noch nützlich sind.


1
2017-11-29 20:14