আমি কীভাবে অফলাইনে ভিজ্যুয়াল স্টুডিও কোড এক্সটেনশনগুলি ইনস্টল করতে পারি?


130

আমি একটি মেশিনে ভিজ্যুয়াল স্টুডিও কোড ইনস্টল করেছি যা ইন্টারনেটের সাথে সংযুক্ত নয় এবং হতে পারে না। ডকুমেন্টেশন অনুসারে , আমি যদি কমান্ড লাইন থেকে একটি এক্সটেনশন ইনস্টল করতে .vsixপারি .vsixতবে বাজার থেকে কীভাবে তা পাব তা আমি জানি না ।

আমি কীভাবে বাজারে.vsix হোস্ট করা একটি এক্সটেনশনের জন্য ডাউনলোড করতে পারি ?


ব্যবহারের ডাউনলোড-vsix vsix ডাউনলোড করুন। ie) rajasimon.github.io/…
রাজা সাইমন

উত্তর:


202

আপডেট 2017-12-13

আপনি এখন সরাসরি বাজার থেকে এক্সটেনশানটি ডাউনলোড করতে পারেন ।

এখানে চিত্র বিবরণ লিখুন

ভিজ্যুয়াল স্টুডিও কোড হিসাবে 1.7.1 এক্সটেনশানটি টেনে নিয়ে যাওয়া বা খোলার কাজ আর কাজ করে না। এটি ম্যানুয়ালি ইনস্টল করার জন্য আপনার প্রয়োজন:

  • এক্সটেনশনগুলি সাইডবারটি খুলুন
  • ডান উপরের কোণে উপবৃত্তাকারে ক্লিক করুন
  • ভিএসআইএক্স থেকে ইনস্টল নির্বাচন করুন

ভিএসআইএক্স থেকে ইনস্টল করুন ...


পুরাতন পদ্ধতি

ডকুমেন্টেশন অনুসারে সরাসরি কোনও এক্সটেনশন ডাউনলোড করা সম্ভব:

একটি এক্সটেনশনের সরাসরি ডাউনলোড URL ফর্মটিতে রয়েছে:

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

এর অর্থ এই যে এক্সটেনশানটি ডাউনলোড করতে আপনার জানা দরকার

  • প্রকাশকের নাম
  • সংস্করণ
  • এক্সটেনশনের নাম

আপনি এই সমস্ত তথ্য URL- এ খুঁজে পেতে পারেন।

উদাহরণ

সি # v1.3.0 এক্সটেনশানটি ইনস্টল করার জন্য এখানে একটি উদাহরণ রয়েছে :

প্রকাশক, সম্প্রসারণ এবং সংস্করণ

আপনি এর URL এর ভিতরে এক্সটেনশনের হোমপেজে প্রকাশক এবং এক্সটেনশনের নামগুলি খুঁজে পেতে পারেন:

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

এখানে প্রকাশক ms-vscodeএবং এক্সটেনশনের নাম csharp

সংস্করণটি আরও তথ্য অঞ্চলে ডানদিকে পাওয়া যাবে ।

এটি ডাউনলোড করতে আপনার উপরের টেমপ্লেট থেকে একটি লিঙ্ক তৈরি করতে হবে:

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

সমস্ত প্যাকেজগুলির একই নাম মাইক্রোসফ্ট থাকবে। ভিজ্যুয়াল স্টুডিও S সার্ভিসস V ভিএসআইএক্সপ্যাকেজ, সুতরাং পরে কোন প্যাকেজটি ছিল তা আপনি জানতে চাইলে ডাউনলোডের পরে নামকরণ করতে হবে।

স্থাপন

ক্রমটি ইনস্টল করার জন্য

  • ফাইলটির নাম পরিবর্তন করুন এবং এটি *.vsixএক্সটেনশন দিন
  • ভিজ্যুয়াল স্টুডিও কোড খুলুন, মেনুতে যান ফাইলফাইল খুলুন ... বা Ctrl+ Oএবং .vsixফাইলটি নির্বাচন করুন
  • যদি সবকিছু ঠিকঠাক হয় তবে আপনার এই বার্তাটি উইন্ডোটির শীর্ষে দেখতে হবে:

এক্সটেনশানটি সফলভাবে ইনস্টল করা হয়েছিল। এটি সক্ষম করতে পুনরায় চালু করুন।


10
আমি এক্সটেনশন পৃষ্ঠায় ব্যবহার করতে একটি বুকমার্কলেট তৈরি করেছি। আসুন দেখি এটি কতক্ষণ কাজ করে 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";})()
চলেছে

ভিএস কোড 1.7.1 (অক্টোবর 2016) তে ইনস্টলেশন পদক্ষেপটি আমার পক্ষে কার্যকর হয়নি।
রায় ডিকটাস

@ রয়ডিক্টাস আদর্শ, ভিএসকোড এটি ইনস্টল করার পরিবর্তে এক্সটেনশনের লিঙ্কটি দেখায়: - | তারা অবশ্যই কিছু পরিবর্তন করেছে।
t3chb0t

@ রয়ডিক্টাস আপডেটটি দেখুন - এটি আপনার পক্ষে কাজ করা উচিত। আমি স্ক্রিনশট অন্য সময় সংযুক্ত করব।
t3chb0t

2
এই উত্তরে ভাল তথ্য রয়েছে; তবে, সি # একটি খারাপ উদাহরণ, বিশেষত যেহেতু প্রশ্নটি "এমন একটি মেশিন যা ইন্টারনেটের সাথে সংযুক্ত নয়, হতে পারে না" । C # এক্সটেনশানটি এখানে বর্ণিত হিসাবে অফলাইনে ইনস্টল করা যাবে না কারণ এটি সক্রিয়করণের পরে প্ল্যাটফর্ম-নির্দিষ্ট উপাদানগুলি ডাউনলোড করার চেষ্টা করে এবং পরিবর্তে একটি নির্দিষ্ট অফলাইন প্যাকেজ তৈরি করা আবশ্যক
হিরোহতার

19

t3chb0t এর উত্তরে যোগ করা, ডাউনলোডের বিকল্পটি কেন দৃশ্যমান নয় তা নিশ্চিত নয়, সুতরাং যারা গ্রিসমোনকি / ট্যাম্পারমোনকি ব্যবহার করেন তাদের জন্য একটি প্যাচ তৈরি করেছেন: আপনি এখানে গিস্ট কোডটি খুঁজে পেতে পারেন

অথবা আপনি কেবল নিজের ব্রাউজার কনসোলে নীচের লাইনগুলি পেস্ট করতে পারেন এবং লিঙ্কটি যাদুতে প্রদর্শিত হবে:

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

ভিএসকোড হিসাবে দুর্দান্ত তবে অপ্রয়োজনীয় এখন তাদের ওয়েবসাইটে লিঙ্কটি সরবরাহ করে
ব্লোজি

1
ব্লাউজি ধারাবাহিকভাবে নয়, উইন্ডোজে আমি লিঙ্কটি দেখতে পাচ্ছি, লিনাক্সে আমি করি না
kbolino

15

এই সমস্ত পরামর্শ দুর্দান্ত, তবে অনুসরণ করা একধরনের বেদনাদায়ক কারণ URL টি তৈরির জন্য কোডটি কার্যকর করা বা হাতে পাগল URL টি নির্মাণ করা বিরক্তিকর এক ধরণের ...

সুতরাং, আমি জিনিসগুলি আরও সহজ করার জন্য একটি দ্রুত ওয়েব অ্যাপ্লিকেশন একত্রিত করেছি। কেবলমাত্র আপনি যে এক্সটেনশানটি চান তা ইউআরএল আটকান এবং ইতিমধ্যে আপনার এক্সটেনশানটির নাম সঠিকভাবে প্রকাশিত হয়েছে: প্রকাশক-এক্সটেনশন-সংস্করণ.vsix the

আশা করি কেউ এটিকে সহায়ক বলে মনে করেছেন: http://vscode-offline.herokuapp.com/


ভিএসকোড হিসাবে দুর্দান্ত তবে অপ্রয়োজনীয় এখন তাদের ওয়েবসাইটে লিঙ্কটি সরবরাহ করে
ব্লোজি

সঠিক। এটি তাদের পক্ষে একটি সাম্প্রতিক সংযোজন। আমি সম্ভবত অদূর ভবিষ্যতে আমার পরিষেবাটি নেব।
ইয়াকভ চইকিন

@ ইয়াকভ চইকিন লিঙ্কটি সর্বদা প্রদর্শিত হয় না তবে আপনার পরিষেবা ধারাবাহিকভাবে কাজ করে
kbolino

এটি দুর্দান্ত। দুর্ভাগ্যক্রমে যখন অন্যরা হিরোকুর পরিবর্তে গিটহাব পৃষ্ঠাগুলিতে একই কাজ করেছিল, ক্রিসএফ-এর মতো ব্যবহারকারীরা "আপনার গিটহাবের সাথে লিঙ্ক করবেন না" বলে এগুলি মুছে ফেলেছিল। মডারেটররা বুলি হয়ে উঠলে এটি দুঃখজনক।
আইকনোক্লাস্ট

4

আজ অবধি এক্সটেনশনের সর্বশেষতম সংস্করণটির জন্য ডাউনলোডের 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

আমি dl ইউআরএল নিষ্কাশন করতে পাইথন রেজিপ্সপ ব্যবহার করি:

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

3

আমি অন্য কেউ যদি এর আগে আসে তবে আমি গাদাটিতে একটি পাওয়ারশেল ডাউনলোড বিকল্পটি ফেলে দিতে চেয়েছিলাম। আমার বেশ কয়েকটি অফলাইন পরিস্থিতি রয়েছে এবং আমি অফলাইনে যে সমস্ত এক্সটেনশান ব্যবহার করি তা ডাউনলোড এবং আপডেট করতে আমি একটি লুপে এটি চালাই।

$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

T3chb0t এর দুর্দান্ত উত্তরে যুক্ত করা - একটি ফোল্ডারে সমস্ত ভিএসকোড এক্সটেনশান ইনস্টল করতে এই পাওয়ারশেল কমান্ডগুলি ব্যবহার করুন:

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

তারপরে, ইনস্টলেশনটি সম্পূর্ণ করতে ভিএসকোড পুনরায় লোড করুন।


1

এখন আপনি সরাসরি "সংস্থানগুলি" বিভাগে একটি এক্সটেনশন ডাউনলোড করতে পারেন, একটি "ডাউনলোড এক্সটেনশান" লিঙ্ক রয়েছে, আমি আশা করি এই তথ্যটি এখনও কার্যকর।


1

পাওয়ারশেল স্ক্রিপ্ট ব্যবহার করে মার্কেটপ্লেস থেকে এক্সটেনশান ডাউনলোড করতে আমি আমার লিস্টে একটি স্ক্রিপ্ট সংরক্ষণ করেছি। এটি মতামত নির্দ্বিধায়।

https://gist.github.com/azurekid/ca641c47981cf8074aeaf6218bb9eb58

[CmdletBinding()]
param
(
    [Parameter(Mandatory = $true)]
    [string] $Publisher,

    [Parameter(Mandatory = $true)]
    [string] $ExtensionName,

    [Parameter(Mandatory = $true)]
    [ValidateScript( {
            If ($_ -match "^([0-9].[0-9].[0-9])") {
                $True
            }
            else {
                Throw "$_ is not a valid version number. Version can only contain digits"
            }
        })]
    [string] $Version,

    [Parameter(Mandatory = $true)]
    [string] $OutputLocation
)

Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"

Write-Output "Publisher:        $($Publisher)"
Write-Output "Extension name:   $($ExtensionName)"
Write-Output "Version:          $($Version)"
Write-Output "Output location   $($OutputLocation)"

$baseUrl = "https://$($Publisher).gallery.vsassets.io/_apis/public/gallery/publisher/$($Publisher)/extension/$($ExtensionName)/$($Version)/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage"
$outputFile = "$($Publisher)-$($ExtensionName)-$($Version).visx"

if (Test-Path $OutputLocation) {
    try {
        Write-Output "Retrieving extension..."
        [uri]::EscapeUriString($baseUrl) | Out-Null
        Invoke-WebRequest -Uri $baseUrl -OutFile "$OutputLocation\$outputFile"
    }
    catch {
        Write-Error "Unable to find the extension in the marketplace"
    }
}
else {
    Write-Output "The Path $($OutputLocation) does not exist"
}

0

পাইথন ব্যবহারকারীদের জন্য t3chbot এর দুর্দান্ত উত্তরের সাথে ব্যবহারের প্যাটার্নটি দেখে মনে হচ্ছে:

https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/python/{version_number}/vspackage

ভার্সন নম্বরটি আপনাকে কোথায় প্রবেশ করতে হবে তা দেখতে ডান স্ক্রোল করতে ভুলবেন না।


0

আপনি যদি কোনও স্ক্রিপ্টযুক্ত সমাধান খুঁজছেন:

  1. বাইনারি ডাউনলোডের ইউআরএল পান: আপনি একটি এপিআই ব্যবহার করতে পারেন তবে সতর্ক হতে হবে যে এর জন্য কোনও ডকুমেন্টেশন নেই। এই এপিআই .vsixফাইলগুলি ডাউনলোড করতে একটি URL ফিরিয়ে দিতে পারে (নীচের উদাহরণ দেখুন)
  2. বাইনারি ডাউনলোড করুন
  3. সাবধানতার unzipসাথে বাইনারি ~/.vscode/extensions/: আপনাকে আনজিপড ডিরেক্টরি ডিরেক্টরিটি পরিবর্তন করতে হবে, একটি ফাইল সরিয়ে অন্য একটি নামান্তর / নাম পরিবর্তন করতে হবে।

নীচের উদাহরণটি দেখে এপিআই শুরু করার জন্য, এবং কীভাবে https://github.com/Mic Microsoft/vscode/blob/master/src/vs/platform/extensionManagement/node/extensionGalleryService.ts এ অনুরোধের মাথা সংশোধন করতে হয় তার ইঙ্গিতগুলির জন্য ।

POST https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery?api-version=5.1-preview HTTP/1.1
content-type: application/json

{
    "filters": [
        {
        "criteria": [
            {
                "filterType": 8,
                "value": "Microsoft.VisualStudio.Code",
            },
            {
                "filterType": 7,
                "value": "ms-python.python",
            }
        ],
        "pageNumber": 1,
        "pageSize": 10,
        "sortBy": 0,
        "sortOrder": 0,
        }
    ],
    "assetTypes": ["Microsoft.VisualStudio.Services.VSIXPackage"],
    "flags": 514,
}

উপরোক্ত উদাহরণের ব্যাখ্যা:


0

আপনার অফলাইনে উদাহরণটিতে যদি ভিএসকোডের একটি নির্দিষ্ট (উত্তরাধিকার) সংস্করণ থাকে তবে সর্বশেষতম এক্সটেনশানগুলি টানতে সঠিকভাবে সংহত নাও হতে পারে।

ভিএসকোড এবং এক্সটেনশানগুলি একসাথে কাজ করে তা নিশ্চিত করতে, সেগুলি অবশ্যই অনলাইন মেশিনে একসাথে ইনস্টল করা উচিত। এটি কোনও নির্ভরতা (নির্দিষ্ট সংস্করণ সহ) সমাধান করে এবং অফলাইন উদাহরণটির সঠিক কনফিগারেশন নিশ্চিত করে।

দ্রুত পদক্ষেপ:

ভিএসকোড সংস্করণ ইনস্টল করুন, আপডেট করা বন্ধ করুন এবং এক্সটেনশানগুলি ইনস্টল করুন। ইনস্টল করা অবস্থান থেকে এক্সটেনশনগুলি অনুলিপি করুন এবং সেগুলি লক্ষ্য মেশিনে রাখুন।

বিস্তারিত পদক্ষেপ:

অনলাইন মেশিনে ভিএসকোডের সঠিক সংস্করণ ইনস্টল করুন। তারপরে আপডেটগুলি বন্ধ করে দিন File -> Preferences -> Settings। ইন Settingsউইন্ডো অধীনে User Settings -> Application, এখানে যান Updateঅধ্যায়, এবং জন্য প্যারামিটার পরিবর্তন Channelকরতে none। এটি ভিএসকোডকে ইন্টারনেটে পৌঁছানো এবং সর্বশেষে আপনার সংস্করণগুলিকে স্বয়ংক্রিয়ভাবে আপডেট করা থেকে বিরত করে।

তারপরে ভিএসকোড এক্সটেনশান বিভাগে যান এবং আপনার পছন্দসই সমস্ত এক্সটেনশন ইনস্টল করুন। ইনস্টল করা এক্সটেনশনগুলি তাদের ইনস্টল অবস্থান (উইন্ডোজ সহ C:\Users\<username>\.vscode\extensions) থেকে লক্ষ্য মেশিনে একই স্থানে অনুলিপি করুন ।

পুরোপুরি কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.