Saya telah menginstal Visual Studio Code pada mesin yang tidak, dan tidak dapat, terhubung ke Internet. Menurut dokumentasi , saya dapat menginstal ekstensi dari baris perintah jika saya punya .vsix
, tapi saya tidak tahu bagaimana cara mendapatkannya .vsix
dari pasar.
Bagaimana saya bisa mengunduh .vsix
ekstensi untuk yang diinangi di pasar ?
visual-studio-code
Blachniet
sumber
sumber
Jawaban:
UPDATE 2017-12-13
Anda sekarang dapat mengunduh ekstensi langsung dari pasar .
Pada Visual Studio Code 1.7.1 menyeret atau membuka ekstensi tidak berfungsi lagi. Untuk menginstalnya secara manual, Anda perlu:
Metode lama
Menurut dokumentasi itu mungkin untuk mengunduh ekstensi secara langsung:
Ini berarti bahwa untuk mengunduh ekstensi yang perlu Anda ketahui
Anda dapat menemukan semua informasi ini di URL.
Contoh
Berikut ini contoh untuk mengunduh pemasangan ekstensi C # v1.3.0 :
Penerbit, Ekstensi dan Versi
Anda dapat menemukan penerbit dan nama ekstensi di beranda ekstensi di dalam URL-nya:
Di sini penerbitnya
ms-vscode
dan nama ekstensinyacsharp
.Versi ini dapat ditemukan di sisi kanan di area More Info .
Untuk mengunduhnya, Anda perlu membuat tautan dari templat di atas:
Semua paket akan memiliki nama yang sama dengan Microsoft.VisualStudio.Services.VSIXPackage , jadi Anda harus mengganti namanya setelah mengunduh jika Anda ingin tahu paket apa itu nanti.
Instalasi
Untuk menginstal ekstensi
*.vsix
ekstensi.vsix
filesumber
javascript:(function() {var ver = document.querySelector("[data-bind='text: version']").innerText; var pub = window.location.href.replace(/.*itemName=(.*?)\.(.*)/,"$1"); var name = window.location.href.replace(/.*itemName=(.*?)\.(.*)/,"$2"); window.location = "https://" + pub + ".gallery.vsassets.io/_apis/public/gallery/publisher/" + pub + "/extension/" + name + "/" + ver + "/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage";})()
menambahkan jawaban t3chb0t, tidak yakin mengapa opsi untuk mengunduh tidak terlihat, jadi buat tambalan bagi mereka yang menggunakan GreaseMonkey / TamperMonkey: Anda dapat menemukan kode intisari di sini
Atau Anda bisa menempelkan garis di bawah ini di konsol browser Anda, dan tautan itu secara ajaib akan muncul:
sumber
Semua saran ini bagus, tetapi agak menyakitkan untuk diikuti karena mengeksekusi kode untuk membuat URL atau membuat URL gila dengan tangan itu agak menyebalkan ...
Jadi, saya membuat aplikasi web cepat untuk mempermudah. Cukup rekatkan URL ekstensi yang Anda inginkan dan keluar, unduhlah ekstensi Anda yang telah dinamai dengan benar: publisher-extension-version.vsix.
Semoga seseorang menemukannya bermanfaat: http://vscode-offline.herokuapp.com/
sumber
Mulai hari ini, URL unduhan untuk versi terbaru ekstensi tertanam kata demi kata di sumber halaman di Marketplace, misalnya sumber di URL:
https://marketplace.visualstudio.com/items?itemName=lukasz-wronski.ftp-sync
berisi string:
https://lukasz-wronski.gallerycdn.vsassets.io/extensions/lukasz-wronski/ftp-sync/0.3.3/1492669004156/Microsoft.VisualStudio.Services.VSIXPackage
Saya menggunakan Python regexp berikut untuk mengekstrak URL dl:
sumber
Saya ingin melempar opsi unduh PowerShell di tumpukan jika-kalau ada orang lain yang menemukan ini. Saya memiliki beberapa skenario offline dan saya menjalankannya dalam satu lingkaran untuk mengunduh dan memperbarui semua ekstensi yang saya gunakan offline.
sumber
Menambahkan ke jawaban terbaik t3chb0t - Gunakan perintah PowerShell ini untuk menginstal semua ekstensi VSCode dalam folder:
Kemudian, muat ulang VSCode untuk menyelesaikan instalasi.
sumber
Sekarang Anda dapat mengunduh ekstensi secara langsung di bagian "Sumber Daya", ada tautan "Unduh ekstensi", saya harap informasi ini masih berguna.
sumber
Saya telah menyimpan skrip di intisari saya untuk mengunduh ekstensi dari pasar menggunakan skrip PowerShell. Jangan ragu untuk berkomentar membagikannya.
https://gist.github.com/azurekid/ca641c47981cf8074aeaf6218bb9eb58
sumber
Untuk pengguna Python, pola yang digunakan dengan jawaban luar biasa t3chbot terlihat seperti:
pastikan untuk menggulir ke kanan untuk melihat di mana Anda harus memasukkan nomor versi.
sumber
Jika Anda mencari solusi skrip:
.vsix
file (lihat contoh di bawah)unzip
- hati biner menjadi~/.vscode/extensions/
: Anda perlu memodifikasi nama direktori yang tidak di-zip, menghapus satu file dan memindahkan / mengganti nama yang lain.Untuk API mulailah dengan melihat contoh berikut, dan untuk petunjuk bagaimana memodifikasi kepala permintaan ke https://github.com/Microsoft/vscode/blob/master/src/vs/platform/extensionManagement/node/extensionGalleryService.ts .
Penjelasan untuk contoh di atas:
"filterType": 8
-FilterType.Target
lebih banyak Tipe Filter"filterType": 7
-FilterType.ExtensionName
lebih banyak Tipe Filter"flags": 514
-0x2 | 0x200
-Flags.IncludeFiles | Flags.IncludeLatestVersionOnly
- lebih banyak Benderapython -c "print(0x2|0x200)"
"assetTypes": ["Microsoft.VisualStudio.Services.VSIXPackage"]
- untuk mendapatkan hanya tautan ke.vsix
file AssetTypes lainnyasumber
Jika Anda memiliki versi VSCode khusus (lawas) pada contoh offline Anda, menarik ekstensi terbaru mungkin tidak terintegrasi dengan benar.
Untuk memastikan bahwa VSCode dan ekstensi berfungsi bersama, semuanya harus dipasang bersama di mesin online. Ini menyelesaikan setiap dependensi (dengan versi tertentu), dan memastikan konfigurasi yang tepat dari instance offline.
Langkah cepat:
Instal versi VSCode, matikan pembaruan, dan instal ekstensi. Salin ekstensi dari lokasi yang diinstal dan letakkan di mesin target.
Langkah-langkah terperinci:
Instal versi persis VSCode di mesin online. Kemudian matikan pembaruan dengan masuk ke
File -> Preferences -> Settings
. DiSettings
jendela, di bawahUser Settings -> Application
, bukaUpdate
bagian, dan ubah parameter untukChannel
menjadinone
. Ini mencegah VSCode dari menjangkau ke internet dan memperbarui versi Anda secara otomatis ke yang terbaru.Lalu buka bagian ekstensi VSCode dan instal semua ekstensi yang Anda inginkan. Salin ekstensi yang diinstal dari lokasi instalnya (dengan windows-nya
C:\Users\<username>\.vscode\extensions
) ke lokasi yang sama di mesin target.Bekerja dengan sempurna.
sumber